Computer-implemented method for defect analysis, apparatus for defect analysis, computer-program product, and intelligent defect analysis system

ABSTRACT

A computer-implemented method for defect analysis is provided. The computer-implemented method includes obtaining a plurality of sets of defect point coordinates, a respective set of the plurality of sets of detect point coordinates including coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combining the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and performing a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.

TECHNICAL FIELD

The present invention relates to display technology, more particularly, to a computer-implemented method for defect analysis, an apparatus for defect analysis, a computer-program product, and an intelligent defect analysis system.

BACKGROUND

Distributed computing and distributed algorithms have become prevalent in a wide variety of contexts, for reasons of increased performance and load capacity, high availability and failover and faster access to data. With the development of big data, cloud computing, artificial intelligence and other technologies, big data analytics related technologies are widely used in various fields of the manufacturing industry.

SUMMARY

In one aspect, the present disclosure provides a computer-implemented method for defect analysis, comprising obtaining a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combining the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and performing a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.

Optionally, the computer-implemented method further comprises obtaining a plurality of selected clusters from the plurality of clusters; wherein a number of defect points in each of the plurality of selected clusters is greater than a threshold number.

Optionally, the computer-implemented method further comprises determining a plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters, a respective one of the plurality of contours comprising a plurality of edge defect points in a respective one of the plurality of selected clusters; applying a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters; and generating a plurality of feature vectors respectively of the plurality of mask areas.

Optionally, generating the plurality of feature vectors comprises generating Hu geometric moment mid and center-to-center distance M_(i,j) of a respective one of the plurality of mask areas, wherein m_(i,j)=Σ_((x,y)∈A) x^(i)y^(j); calculating defect point density ρ, area α, center of mass O (O_(x), O_(y)), and direction θ of the respective one of the plurality of mask areas; and generating a respective one of the plurality of feature vectors for the respective one of the plurality of mask areas.

Optionally, a respective one of the plurality of feature vectors is expressed as:

F=[ρ,α,Ox,Oy,θ,L,W,r]^(T);

wherein

${\rho = \frac{N}{a}},$

N stands for a number of defect points in the respective one of the of mask areas, a stands for an area of the respective one of the plurality of mask areas;

${{O_{x} = \frac{m_{10}}{a}};}{{O_{y} = \frac{m_{01}}{a}};}{\theta = {{- 0.5}{atc}{\tan\left( \frac{2M_{11}}{M_{02} - M_{20}} \right)}}}{{M_{ij} = {\sum_{{({x,y})} \in A}{\left( {x - O_{x}} \right)^{i}\left( {y - O_{y}} \right)^{j}}}};}{r = {\frac{L}{W}\text{;;}}}$

L stands for a length of a minimal external rectangle of the respective one of the plurality of mask areas; and W stands for a width of a minimal external rectangle of the respective one of the plurality of mask areas.

Optionally, the plurality of contours are determined using an alpha shapes-based method.

Optionally, the computer-implemented method further comprises assigning one or more selected mask areas of the plurality of mask areas as a plurality of defect aggregation areas; wherein feature vectors respectively of the one or more selected mask areas satisfy a threshold condition.

Optionally, the computer-implemented method further comprises comparing parameters of first defect points inside the one or more selected mask areas with parameters of second defect points outside the one or more selected mask areas; and identifying potential devices that causes first defect points based on comparing.

Optionally, the computer-implemented method further comprises obtaining a plurality of sets of substrate defect point coordinates, a respective one of the plurality of sets of substrate defect point coordinates comprising coordinates of substrate defect points in a respective substrate, the coordinates of substrate defect points in the respective substrate being coordinates in a substrate coordinate system; and converting the coordinates of the substrate defect points in the substrate coordinate system into the coordinates of the defect points in the image coordinate system.

Optionally, obtaining the plurality of sets of defect point coordinates comprises obtaining a plurality of sets of raw defect point coordinates; and selecting, from the plurality of sets of raw defect point coordinates, sets of defect point coordinates comprising more than a threshold number of defect point coordinates as the plurality of sets of defect point coordinates.

Optionally, the clustering analysis is performed using a hierarchical clustering method.

Optionally, the hierarchical clustering method is a single linkage clustering method.

Optionally, a Euclidean distance between adjacent defect points in a respective one of the plurality of clusters being equal to or less than a threshold value, a Euclidean distance between any two defect points respectively from two of the plurality of clusters being greater than the threshold value.

In another aspect, the present disclosure provides an apparatus for defect analysis, comprising a memory; one or more processors; wherein the memory and the one or more processors are connected with each other; and the memory stores computer-executable instructions for controlling the one or more processors to obtain a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combine the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and perform a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.

Optionally, the memory further stores computer-executable instructions for controlling the one or more processors to determine a plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters, a respective one of the plurality of contours comprising a plurality of edge defect points in a respective one of the plurality of selected clusters; apply a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters; and generate a plurality of feature vectors respectively of the plurality of mask areas.

Optionally, the memory further stores computer-executable instructions for controlling the one or more processors to generate Hu geometric moment mid and center-to-center distance M_(i,j) of a respective one of the plurality of mask areas, wherein m_(i,j)=Σ_((x,y)∈A) x^(i)y^(j); calculate defect point density ρ, area a, center of mass O (O_(x), O_(y)), and direction θ of the respective one of the plurality of mask areas; and generate a respective one of the plurality of feature vectors for the respective one of the plurality of mask areas.

In another aspect, the present disclosure provides a computer-program product comprising a non-transitory tangible computer-readable medium having computer-readable instructions thereon, the computer-readable instructions being executable by a processor to cause the processor to perform obtaining a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combining the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and performing a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.

Optionally, the computer-readable instructions are further executable by a processor to cause the processor to perform determining a plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters, a respective one of the plurality of contours comprising a plurality of edge defect points in a respective one of the plurality of selected clusters; applying a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters; and generating a plurality of feature vectors respectively of the plurality of mask areas.

Optionally, the computer-readable instructions are further executable by a processor to cause the processor to perform generating Hu geometric moment mid and center-to-center distance M_(i,j) of a respective one of the plurality of mask areas, wherein m_(i,j)=Σ_((x,y)∈A) x^(i)y^(j); calculating defect point density ρ, area a, center of mass O (O_(x), O_(y)), and direction θ of the respective one of the plurality of mask areas; and generating a respective one of the plurality of feature vectors for the respective one of the plurality of mask areas.

In another aspect, the present disclosure provides an intelligent defect analysis system, comprising a distributed computing system comprising one or more networked computers configured to execute in parallel to perform at least one common task; one or more computer readable storage mediums storing instructions that, when executed by the distributed computing system, cause the distributed computing system to execute software modules; wherein the software modules comprise a data manager configured to store data, and intelligently extract, transform, or load the data; a query engine connected to the data manager and configured to query the data directly from the data manager; an analyzer connected to the query engine and configured to perform defect analysis upon received a task request, the analyzer comprising a plurality of business servers and a plurality of algorithm servers, the plurality of algorithm servers configured to query the data directly from the data manager; and a data visualization and interaction interface configured to generate the task requests; wherein one or more of the plurality of algorithm servers is configured to perform the computer-implemented method described herein.

BRIEF DESCRIPTION OF THE FIGURES

The following drawings are merely examples for illustrative purposes according to various disclosed embodiments and are not intended to limit the scope of the present invention.

FIG. 1 is a plurality of defect point images in some embodiments according to the present disclosure.

FIG. 2A illustrates a computer-implemented method for defect analysis in some embodiments according to the present disclosure.

FIG. 2B illustrates a computer-implemented method for defect analysis in some embodiments according to the present disclosure.

FIG. 3A and FIG. 3B illustrate a conversion process from individual panel coordinate systems into a uniform substrate coordinate system.

FIG. 3C illustrates a cascading process of a plurality of defect point images according to a same image coordinate system.

FIG. 4 illustrates a computer-implemented method for defect analysis in some embodiments according to the present disclosure.

FIG. 5A is a schematic diagram of a structure of an apparatus in some embodiments according to the present disclosure.

FIG. 5B is a schematic diagram illustrating the structure of an apparatus in some embodiments according to the present disclosure.

FIG. 6 illustrates a distributed computing environment in some embodiments according to the present disclosure.

FIG. 7 illustrates software modules in an intelligent defect analysis system in some embodiments according to the present disclosure.

FIG. 8 illustrates software modules in an intelligent defect analysis system in some embodiments according to the present disclosure.

FIG. 9 illustrates an intelligent defect analysis method using an intelligent defect analysis system in some embodiments according to the present disclosure.

FIG. 10 illustrates an intelligent defect analysis method using an intelligent defect analysis system in some embodiments according to the present disclosure.

FIG. 11 illustrates an intelligent defect analysis method using an intelligent defect analysis system in some embodiments according to the present disclosure.

FIG. 12 illustrates an intelligent defect analysis method using an intelligent defect analysis system in some embodiments according to the present disclosure.

FIG. 13 illustrates a data management platform in some embodiments according to the present disclosure.

FIG. 14 depicts a plurality of sub-tables split from a data table stored in a general data layer in some embodiments according to the present disclosure.

FIG. 15 illustrates a method of defect analysis in some embodiments according to the present disclosure.

FIG. 16 illustrates a method of defect analysis in some embodiments according to the present disclosure.

FIG. 17 is an exemplary defect point map image.

FIG. 18A shows an exemplary discrete point cluster.

FIG. 18B shows an example of a clustered area map by convex packet fitting.

FIG. 18C shows an example of a clustered area map by α-Shapes fitting.

FIG. 19 illustrates an algorithm of determining a clustered area map.

FIG. 20A shows an exemplary defect point map.

FIG. 20B shows an exemplary result of classification and selection.

FIG. 21A shows an exemplary set of image regions of the point cluster.

FIG. 21B shows defect point aggregation regions.

DETAILED DESCRIPTION

The disclosure will now be described more specifically with reference to the following embodiments. It is to be noted that the following descriptions of some embodiments are presented herein for purpose of illustration and description only. It is not intended to be exhaustive or to be limited to the precise form disclosed.

The manufacturing of display panels, especially organic light emitting diode display panels, involves a highly complex and integrated process, involving numerous processes, technologies, and equipment. Defects occurring in this integrated process is difficult to trace. For example, engineers may have to rely on manual data sorting to analyze the root cause of defects based on experience.

Accordingly, the present disclosure provides, inter alia, a computer-implemented method for defect analysis, an apparatus for defect analysis, a computer-program product, and an intelligent defect analysis system that substantially obviate one or more of the problems due to limitations and disadvantages of the related art. In one aspect, the present disclosure provides a computer-implemented method for defect analysis. In some embodiments, the computer-implemented method for defect analysis includes obtaining a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combining the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and performing a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.

FIG. 1 is a plurality of defect point images in some embodiments according to the present disclosure. Referring to FIG. 1 , the plurality of defect point images include a large amount of defect points. Amount and distribution of defect points in each of the plurality of defect point images are different, making it very difficult to find out the root cause or correlation of the defects in the display panel. Various appropriate defect point images in various appropriate formats may be used in connection with the present disclosure. In one example, the defect point images are pre-processed images of defect points with assigned coordinates, as shown in FIG. 1 . In another example, the plurality of defect point images include defect point images from different lots. In another example, the plurality of defect point images include defect point images from different substrates (but for a same type of product). In another example, the plurality of defect point images include defect point images from different substrates of different types of products. In another example, the plurality of defect point images include defect point images from a same lot over a period of time. In another example, the plurality of defect point images include defect point images generated during a same period of time.

FIG. 2A illustrates a computer-implemented method for defect analysis in some embodiments according to the present disclosure. Referring to FIG. 2A, the computer-implemented method in some embodiments includes obtaining a plurality of defect point images, a respective one of the plurality of defect point images comprising defect points in a substrate, the defect points respectively assigned with coordinates in an image coordinate system; cascading the plurality of defect point images according to the image coordinate system, thereby aligning points, respectively from different defect point images having a same coordinate in the image coordinate system, together relative to each other, in a cascaded manner; subsequent to aligning points, respectively from different defect point images having the same coordinate in the image coordinate system, in the cascaded manner, combining the plurality of defect point images into a composite image comprising a plurality defect points from the plurality of defect point images; and performing a clustering analysis on the plurality defect points in the composite image to classify the plurality defect points into a plurality of clusters. In the present method, by cascading the plurality of defect point images, the distribution of the defect points can be analyzed according to the specific steps outlined in the present disclosure. In one example, the plurality of defect point images are defect point images of all substrates (e.g., each mother substrate is one to be cut into a plurality of display panels) for a same type of display product. In another example, the plurality of defect point images are defect point images of all substrates for a same type of organic light emitting diode display panel. In one example, defect points include defect subpixels. In another example, defect points include line open. In another example, defect points include line short. In another example, defect points include dark line. In another example, defect points include bright line.

Based on the coordinates in the image coordinate system, the plurality of defect point images are cascaded so that, for example, defect points having a same coordinate in the image coordinate system or coordinate points having a same coordinate in the image coordinate system, but respectively from different defect point images, are all aligned relative to each other, in a cascaded manner. When the plurality of defect point images are not pre-aligned according to the image coordinate system, it is necessary to cascade them according to the image coordinate system, prior to combining the plurality of defect point images into the composite image. In the composite image, the defect points having a same coordinate in the image coordinate system or coordinate points having a same coordinate in the image coordinate system, but respectively from different defect point images, are located at a same coordinate in the image coordinate system. Because one of the purpose of the present defect analysis method is to determine a correlation between the fabricating device and the defect points, it is advantageous to have the plurality of defect point images cascaded according to the image coordinate system.

Optionally, when cascading the plurality of defect point images, the plurality of defect point images are arranged in a descending order by which the plurality of defect point images are arranged by the number of defect points therein. For example, the plurality of defect point images are arranged with defect point images having greater defect points on top and defect point images having smaller numbers of defect points on bottom.

By combining the plurality of defect point images into the composite image, defect points from the plurality of defect point images may be visualized and analyzed in a single composite image. The composite image adopts the image coordinate system, so that the defect points from different defect point images may be located in a consistent coordinate system.

In some embodiments, defect points are detected on individual display panels. In order to analyze the correlation between the defects and the device, the present defect analysis method in some embodiments is performed on a substrate level. Thus, the coordinates of the defect points in the individual display panels (cut from substrate) are converted into coordinates in the substrate. In some embodiments, the computer-implemented method further includes obtaining a plurality of panel defect point images, a respective one of the plurality of panel defect point images comprising panel defect points in a respective panel, the panel defect points respectively assigned with coordinates in a panel coordinate system; and converting the coordinates of the panel defect points in the panel coordinate system into the coordinates of the defect points in the substrate coordinate system. Optionally, the respective panel is a panel cut from the substrate.

The computer-implemented method may have various appropriate implementations. FIG. 2A describes one implementation in which a plurality of defect point images are utilized. However, various other implementations may be practiced. For example, the method may be practiced using defect point coordinates directly. FIG. 2B illustrates a computer-implemented method for defect analysis in some embodiments according to the present disclosure. Referring to FIG. 2B, the computer-implemented method in some embodiments includes obtaining a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combining the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and performing a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.

FIG. 3A and FIG. 3B illustrate a conversion process from individual panel coordinate systems into a uniform substrate coordinate system. Referring to FIG. 3A, panel defect points in the plurality of panel defect point images (A to N) have panel coordinates assigned according to respective panel coordinate systems (pcs1 to pcs14). For example, panel defect points in a panel defect image A are assigned panel coordinates according to a first panel coordinate system pcs1, panel defect points in a panel defect image B are assigned panel coordinates according to a second panel coordinate system pcs2, panel defect points in a panel defect image C are assigned panel coordinates according to a third panel coordinate system pcs3, and so on. Because the panels are cut from a substrate during the manufacturing process, coordinates in the individual panel coordinate systems may be converted into a unified substrate coordinate system. In one example, the defect analysis is for a same type of product (e.g., an organic light emitting diode display panel), thus multiple substrates used for producing panels have a same substrate coordinate system. Referring to FIG. 3B, the coordinates of the panel defect points in individual panel coordinate systems are converted into the coordinates of the defect points in the substrate coordinate system scs. FIG. 3C illustrates a cascading process of a plurality of defect point images according to a same substrate coordinate system. As shown in FIG. 3C, panel defect point images are converted into substrate defect point images using a uniform substrate coordinate system. Substrate defect point images are cascaded under the uniform substrate coordinate system before combining them into a composite image.

Accordingly, in some embodiments, the method further includes obtaining a plurality of sets of substrate defect point coordinates, a respective one of the plurality of sets of substrate defect point coordinates comprising coordinates of substrate defect points in a respective substrate, the coordinates of substrate defect points in the respective substrate being coordinates in a substrate coordinate system; and converting the coordinates of the substrate defect points in the substrate coordinate system into the coordinates of the defect points in the image coordinate system.

In one example, the computer-implemented method further includes establishing a mapping relationship between the coordinates in the substrate coordinate system and the coordinates in the image coordinate system. In another example, the mapping relationship may be expressed as:

${{M_{3x3} = \begin{bmatrix} R_{2x2} & T_{2x1} \\ 0 & 1 \end{bmatrix}};}{{{wherein}R_{2x2}} = \begin{bmatrix} {\cos\theta} & {{- \sin}\theta} \\ {\sin\theta} & {\cos\theta} \end{bmatrix}}$

which is a rotation matrix; and

$T_{2x1} = \begin{bmatrix} t_{x} \\ t_{y} \end{bmatrix}$

which is a translation matrix.

Optionally, the coordinate conversion may be expressed as:

${\begin{bmatrix} X_{i} \\ Y_{i} \\ 1 \end{bmatrix} = {M_{3 \times 3}\begin{bmatrix} x_{i} \\ Y_{i} \\ 1 \end{bmatrix}}};$

wherein X_(i) and Y_(i) stands for the coordinates in the image coordinate system; and x_(i) and y_(i) stands for the coordinates in the substrate coordinate system.

In one example, an origin of the substrate coordinate system is at a center of the substrate, whereas an origin of the image coordinate system is at a left bottom corner of the image. In another example, the substrate coordinate system has a greater range (e.g., x-axis or y-axis or both) than that of the image coordinate system. In the process of converting the coordinates in the substrate coordinate system into the image coordinate system, the substrate coordinate system may be scaled as per the image coordinate system, thereby reducing the amount of computation.

In some embodiments, outliners are excluded from the plurality of defect point images. In one example, a “defect” image having less than or equal to a threshold number of defect points can be considered as a normal product without defect, thus this kind of “defect” image can be excluded. In some embodiments, the method includes obtaining a plurality of sets of raw defect point coordinates; and selecting, from the plurality of sets of raw defect point coordinates, sets of defect point coordinates including more than a threshold number of defect point coordinates as the plurality of sets of defect point coordinates. In one example, the method includes obtaining a plurality of raw defect point images; and selecting, from the plurality of raw defect point images, defect point images comprising more than a threshold number of defect points as the plurality of defect point images. In one example, the threshold number is a positive integer such as 2 (or 3, or 4, or 5, or 10). Optionally, the plurality of raw defect point images are substrate images, and the plurality of defect point images are also substrate images.

Various appropriate conditions may be used for performing the clustering analysis. Examples of appropriate conditions include a Euclidean distance, a Chi square, and a correlation.

In some embodiments, Euclidean distances between defect points may be used as a condition for performing the clustering analysis. In some embodiments, a Euclidean distance between adjacent defect points in a respective one of the plurality of clusters being equal to or less than a threshold value, a Euclidean distance between any two defect points respectively from two of the plurality of clusters being greater than the threshold value. The method generates a plurality of clusters C={C₁, C₂, C₃, . . . , C_(n)}, C_(i) ⊆R, 1≤i≤n, n≥1, R stands for a set of all defect points in the composite image, C_(i) stands for a set of defect points in a respective one of the plurality of clusters wherein a number of defect points is equal to or greater than 1. The Euclidean distance can be expressed as D=√{square root over ((x_(i)−x_(i−1))²+(y_(i)−y_(i−1))²)}; x_(i) and x_(i−1) stand for x coordinates of two defect points; and y_(i) and y_(i−1) stand for y coordinates of two defect points.

In one example, the clustering process starts from a candidate defect point, the method determines whether an adjacent defect point (e.g., an adjacent defect subpixel) to the candidate defect point has a Euclidean distance equal to or less than the threshold value. Upon a determination that the Euclidean distance is equal to or less than the threshold value, the method adds the adjacent defect point into a candidate cluster containing the candidate defect point. This process is reiterated, for example, using any defect point already included in the candidate cluster as the starting defect point, determining whether its adjacent defect point has a Euclidean distance to the starting defect point is equal to or less than the threshold value, and adding its adjacent defect point into the candidate cluster upon a determination that the Euclidean distance is equal to or less than the threshold value. The reiterated process is stopped when a Euclidean distance between any defect point in the candidate cluster and any defect point outside the candidate cluster is greater than the threshold value.

Various appropriate methods may be used for clustering analysis. Examples of appropriate clustering methods include a hierarchical clustering, an identification of connected components, a connectivity-based clustering, a distribution-based clustering, a density-based clustering, a single-linkage clustering, a Marcov clustering (MCL) and a centroid clustering. Optionally, the clustering method is a hierarchical clustering. Examples of hierarchical clustering methods include complete linkage clustering; average linkage clustering, and single linkage clustering. Optionally, the hierarchical clustering method is single linkage clustering.

In some embodiments, the computer-implemented method further includes obtaining a plurality of selected clusters from the plurality of clusters. Optionally, a number of defect points in each of the plurality of selected clusters is greater than a threshold number. This step generates a plurality of selected clusters C′={C′₁, C′₂, C′₃, . . . , C′_(n′)}, C′_(i) ⊆C. If C′ is an empty set, it indicates that the defect points are not aggregated. If C′ is not an empty set, the method continues to execute subsequent steps. Optionally, the threshold number is equal to or greater than 1, e.g., 2, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, or 100.

FIG. 4 illustrates a computer-implemented method for defect analysis in some embodiments according to the present disclosure. Referring to FIG. 4 , in some embodiments, the computer-implemented method further includes determining a plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters, a respective one of the plurality of contours comprising a plurality of edge defect points in a respective one of the plurality of selected clusters; applying a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters; and generating a plurality of feature vectors respectively of the plurality of mask areas.

Various appropriate methods may be used for generating the plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters. Examples of contour-generating methods include an alpha shapes-based method (see, e.g., N. Akkiraju, H. Edelsbrunner, M. Facello, P. Fu, E. P. Mucke, and C. Varela, “Alpha shapes: definition and software”, Proc. Internat. Comput. Geom. Software Workshop 1995; H. Edelsbrunner and E. P. Mucke, “Three-dimensional alpha shapes”, ACM Trans. Graphics 13 (1994), 43-72 and A. Bowyer. “Computing Dirichlet Tesselations”, The Computer Journal, 24(2), pp 162-166, February 1981; the contents of which are incorporated herein by reference in its entirety). Other suitable examples of contour-generating methods include a weighted minimal path search (see, e.g., Edsger W. Dijkstra, “A note on two problems in connexion with graphs”, Numerical Mathematics, 1, 1959, p. 269-271, the contents of which are incorporated herein by reference in its entirety); and a neighbor search by means of KD-Tree FLANN (see, e.g., Marius Muja and David G. Lowe, “Scalable Nearest Neighbor Algorithms for High Dimensional Data”, Pattern Analysis and Machine Intelligence (PAMI), volume 36, 2014, the contents of which are incorporated herein by reference in its entirety).

Various appropriate methods may be used for applying a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters. Examples of fitting algorithms include a region fitting algorithm (see, e.g., Richard O. Duda, Peter E. Hart, and David G. Stork “Pattern Classification”, John Wiley and Sons, Inc., New York, 2001 and C. Oliver, S. Quegan “Understanding Synthetic Aperture Radar Images”. The Duda Reference, at pages 548 and 549; the contents of which are incorporated herein by reference in its entirety).

In one example, for each of the plurality of selected clusters C′_(i)={p₁ p₂, p₃, . . . p_(n)} the Alpha Shapes algorithm is used to extract its intuitive external shape from the discrete and disordered set of points, and to obtain a set of points with external shape contour points C={p^(c) ₁, p^(c) ₂, p^(c) ₃, . . . , p^(c) _(n)}, C^(c) _(i) ⊂C′_(i). Sets of external shape contour points respectively corresponding to sets of the plurality of selected clusters. In another example, a fitting algorithm (e.g., a region fitting algorithm) is applied to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters. In another example, the plurality of mask areas are a set of minimally enclosed mask areas A={A₁, A₂, A₃, . . . , A_(n)}.

In some embodiments, the computer-implemented method further includes generating a plurality of feature vectors respectively of minimally enclosed mask areas A={A₁, A₂, A₃, . . . , A_(n)}. For A_(i), the method includes generating Hu geometric moment m_(i,j) and center-to-center distance M_(i,j) of a respective one of the plurality of mask areas, wherein m_(i,j) Σ_((x,y)∈A) x^(i)y^(j); calculating defect point density ρ, area a, center of mass O (O_(x), O_(y)), and direction θ of the respective one of the plurality of mask areas; and generating a respective one of the plurality of feature vectors for the respective one of the plurality of mask areas.

In some embodiments, a respective one of the plurality of feature vectors (e.g., for a respective one A_(i) of the minimally enclosed mask areas A={A₁, A₂, A₃, . . . , A_(n)}) is expressed as F=[ρ, α, Ox, Oy, θ, L, W, r]^(T); wherein

${\rho = \frac{N}{a}},$

N stands for a number of defect points in the respective one of the plurality of mask areas, a stands for an area of the respective one of the plurality of mask areas

${O_{x} = \frac{m_{10}}{a}};{O_{y} = \frac{m_{01}}{a}};{\theta = {{- 0.5}{atc}{\tan\left( \frac{2M_{11}}{M_{02} - M_{20}} \right)}}};{M_{ij} = {\sum_{{({x,y})} \in A}{\left( {x - O_{x}} \right)^{i}\left( {y - O_{y}} \right)^{j}}}};{r = \frac{L}{W}};$

L stands for a length of a minimal external rectangle of the respective one of the plurality of mask areas; and W stands for a width of a minimal external rectangle of the respective one of the plurality of mask areas.

In some embodiments, one or more feature vectors of the plurality of feature vectors that do not satisfy a threshold condition are removed from subsequent steps. Accordingly, in some embodiments, the computer-implemented method further includes assigning one or more selected mask areas of the plurality of mask areas as a plurality of defect aggregation areas, wherein feature vectors respectively of the one or more selected mask areas satisfy a threshold condition. In one example, the threshold condition may be expressed as [α_(i),β_(i), . . . ]. In another example, α_(i) may be a condition of ρ >0.5. In another example, β_(i) may be a condition of a >200.

In one example, the plurality of defect aggregation areas may be expressed as a set A′={A′₁, A′₂, A′₃, . . . , A′_(n)}. When A′ is an empty set, defect aggregation areas may not be present in the plurality of defect point images.

In some embodiments, when the A′ is not an empty set, the computer-implemented method further includes comparing parameters of first defect points inside the one or more selected mask areas with parameters of second defect points outside the one or more selected mask areas; and identifying potential devices that causes first defect points based on comparing. By comparing negative samples (parameters of first defect points inside the one or more selected mask areas) with positive samples (parameters of second defect points outside the one or more selected mask areas), root causes for the defects may be traced to one or more potentially problematic devices responsible for one or more fabrication processes of the display panel.

In another aspect, the present disclosure provides an apparatus for defect analysis. In some embodiments, the apparatus for defect analysis includes a memory; and one or more processors. The memory and the one or more processors are connected with each other. In some embodiments, the memory stores computer-executable instructions for controlling the one or more processors to obtain a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combine the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and perform a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.

In some embodiments, the memory stores computer-executable instructions for controlling the one or more processors to obtain a plurality of defect point images, a respective one of the plurality of defect point images comprising defect points in a substrate, the defect points respectively assigned with coordinates in an image coordinate system; cascade the plurality of defect point images according to the image coordinate system, thereby aligning points, respectively from different defect point images having a same coordinate in the image coordinate system, together relative to each other, in a cascaded manner; subsequent to aligning points, respectively from different defect point images having the same coordinate in the image coordinate system, in the cascaded manner, combine the plurality of defect point images into a composite image comprising a plurality defect points from the plurality of defect point images; and perform a clustering analysis on the plurality defect points in the composite image to classify the plurality defect points into a plurality of clusters.

In some embodiments, the memory further stores computer-executable instructions for controlling the one or more processors to obtain a plurality of selected clusters from the plurality of clusters. Optionally, a number of defect points in each of the plurality of selected clusters is greater than a threshold number.

In some embodiments, the memory further stores computer-executable instructions for controlling the one or more processors to determine a plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters, a respective one of the plurality of contours comprising a plurality of edge defect points in a respective one of the plurality of selected clusters; apply a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters; and generate a plurality of feature vectors respectively of the plurality of mask areas.

In some embodiments, the memory further stores computer-executable instructions for controlling the one or more processors to generate Hu geometric moment m_(i,j) and center-to-center distance M_(i,j) of a respective one of the plurality of mask areas, wherein m_(i,j)=Σ_((x,y)∈A) x^(i)y^(i); calculate defect point density ρ, area a, center of mass O (O_(x), O_(y)), and direction θ of the respective one of the plurality of mask areas; and generate a respective one of the plurality of feature vectors for the respective one of the plurality of mask areas. Optionally, a respective one of the plurality of feature vectors is expressed as F=[ρ, α, Ox, Oy, θ, L, W, r]^(T); wherein

${\rho = \frac{N}{a}},$

N stands for a number of defect points in the respective one of the plurality of mask areas, a stands for an area of the respective one of the plurality of mask areas;

${O_{x} = \frac{m_{10}}{a}};{O_{y} = \frac{m_{01}}{a}};{\theta = {{- 0.5}{atc}{\tan\left( \frac{2M_{11}}{M_{02} - M_{20}} \right)}}};{M_{ij} = {\sum_{{({x,y})} \in A}{\left( {x - O_{x}} \right)^{i}\left( {y - O_{y}} \right)^{j}}}};{r = \frac{L}{W}};$

stands for a length of a minimal external rectangle of the respective one of the plurality of mask areas; and W stands for a width of a minimal external rectangle of the respective one of the plurality of mask areas.

Optionally, the plurality of contours are determined using an alpha shapes-based method.

In some embodiments, the memory further stores computer-executable instructions for controlling the one or more processors to assign one or more selected mask areas of the plurality of mask areas as a plurality of defect aggregation areas. Optionally, feature vectors respectively of the one or more selected mask areas satisfy a threshold condition.

In some embodiments, the memory further stores computer-executable instructions for controlling the one or more processors to compare parameters of first defect points inside the one or more selected mask areas with parameters of second defect points outside the one or more selected mask areas; and identify potential devices that causes first defect points based on comparing.

In some embodiments, the memory further stores computer-executable instructions for controlling the one or more processors to obtain a plurality of substrate defect point images, a respective one of the plurality of substrate defect point images comprising substrate defect points in a respective substrate, the substrate defect points respectively assigned with coordinates in a substrate coordinate system; and convert the coordinates of the p substrate defect points in the substrate coordinate system into the coordinates of the defect points in the image coordinate system.

In some embodiments, to obtain the plurality of defect point images, the memory further stores computer-executable instructions for controlling the one or more processors to obtain a plurality of sets of raw defect point coordinates; and select, from the plurality of sets of raw defect point coordinates, sets of defect point coordinates including more than a threshold number of defect point coordinates as the plurality of sets of defect point coordinates. In one example, to obtain the plurality of defect point images, the memory further stores computer-executable instructions for controlling the one or more processors to obtain a plurality of raw defect point images; and select, from the plurality of raw defect point images, defect point images comprising more than a threshold number of defect points as the plurality of defect point images.

Optionally, the clustering analysis is performed using a hierarchical clustering method.

Optionally, the hierarchical clustering method is a single linkage clustering method.

Optionally, a Euclidean distance between adjacent defect points in a respective one of the plurality of clusters being equal to or less than a threshold value, a Euclidean distance between any two defect points respectively from two of the plurality of clusters being greater than the threshold value.

FIG. 5A is a schematic diagram of a structure of an apparatus in some embodiments according to the present disclosure. Referring to FIG. 5A, in some embodiments, the apparatus includes the central processing unit (CPU) configured to perform actions according to the computer-executable instructions stored in a ROM or in a RAM. Optionally, data and programs required for a computer system are stored in RAM. Optionally, the CPU, the ROM, and the RAM are electrically connected to each other via bus. Optionally, an input/output interface is electrically connected to the bus.

FIG. 5B is a schematic diagram illustrating the structure of an apparatus in some embodiments according to the present disclosure. Referring to FIG. 5B, in some embodiments, the apparatus includes a display panel DP; an integrated circuit IC connected to the display panel DP; a memory M; and one or more processors P. The memory M and the one or more processors P are connected with each other. In some embodiments, the memory M stores computer-executable instructions for controlling the one or more processors P to execute method steps described herein.

In another aspect, the present disclosure provides a computer-program product comprising a non-transitory tangible computer-readable medium having computer-readable instructions thereon. In some embodiments, the computer-readable instructions being executable by a processor to cause the processor to perform obtaining a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combining the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and performing a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.

In some embodiments, the computer-readable instructions being executable by a processor to cause the processor to perform obtaining a plurality of defect point images, a respective one of the plurality of defect point images comprising defect points in a substrate, the defect points respectively assigned with coordinates in an image coordinate system; cascading the plurality of defect point images according to the image coordinate system, thereby aligning points, respectively from different defect point images having a same coordinate in the image coordinate system, together relative to each other, in a cascaded manner; subsequent to aligning points, respectively from different defect point images having the same coordinate in the image coordinate system, in the cascaded manner, combining the plurality of defect point images into a composite image comprising a plurality defect points from the plurality of defect point images; and performing a clustering analysis on the plurality defect points in the composite image to classify the plurality defect points into a plurality of clusters.

In some embodiments, the computer-readable instructions are further executable by a processor to cause the processor to perform obtaining a plurality of selected clusters from the plurality of clusters. Optionally, a number of defect points in each of the plurality of selected clusters is greater than a threshold number.

In some embodiments, the computer-readable instructions are further executable by a processor to cause the processor to perform determining a plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters, a respective one of the plurality of contours comprising a plurality of edge defect points in a respective one of the plurality of selected clusters; applying a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters; and generating a plurality of feature vectors respectively of the plurality of mask areas.

In some embodiments, the computer-readable instructions are further executable by a processor to cause the processor to perform generating Hu geometric moment m_(i,j) and center-to-center distance M_(i,j) of a respective one of the plurality of mask areas, wherein m_(i,j)=Σ_((x,y)∈A) x^(i)y^(i); calculating defect point density ρ, area a, center of mass O (O_(x), O_(y)), and direction θ of the respective one of the plurality of mask areas; and generating a respective one of the plurality of feature vectors for the respective one of the plurality of mask areas. Optionally, a respective one of the plurality of feature vectors is expressed as F=[ρ, α, Ox, Oy, θ, L, W, r]^(T); wherein

${\rho = \frac{N}{a}},$

N stands for a number of defect points in the respective one of the plurality of mask areas, a stands for an area of the respective one of the plurality of mask areas;

${O_{x} = \frac{m_{10}}{a}};{O_{y} = \frac{m_{01}}{a}};{\theta = {{- 0.5}{atc}{\tan\left( \frac{2M_{11}}{M_{02} - M_{20}} \right)}}};{M_{ij} = {\sum_{{({x,y})} \in A}{\left( {x - O_{x}} \right)^{i}\left( {y - O_{y}} \right)^{j}}}};{r = \frac{L}{W}};$

L stands for a length of a minimal external rectangle of the respective one of the plurality of mask areas; and W stands for a width of a minimal external rectangle of the respective one of the plurality of mask areas.

Optionally, the plurality of contours are determined using an alpha shapes-based method.

In some embodiments, the computer-readable instructions are further executable by a processor to cause the processor to perform assigning one or more selected mask areas of the plurality of mask areas as a plurality of defect aggregation areas. Optionally, feature vectors respectively of the one or more selected mask areas satisfy a threshold condition.

In some embodiments, the computer-readable instructions are further executable by a processor to cause the processor to perform comparing parameters of first defect points inside the one or more selected mask areas with parameters of second defect points outside the one or more selected mask areas; and identifying potential devices that causes first defect points based on comparing.

In some embodiments, the computer-readable instructions are further executable by a processor to cause the processor to perform obtaining a plurality of substrate defect point images, a respective one of the plurality of substrate defect point images comprising substrate defect points in a respective substrate, the panel defect points respectively assigned with coordinates in a substrate coordinate system; and converting the coordinates of the substrate defect points in the substrate coordinate system into the coordinates of the defect points in the image coordinate system.

In some embodiments, for obtaining the plurality of defect point images, the computer-readable instructions are further executable by a processor to cause the processor to perform obtaining a plurality of sets of raw defect point coordinates; and selecting, from the plurality of sets of raw defect point coordinates, sets of defect point coordinates including more than a threshold number of defect point coordinates as the plurality of sets of defect point coordinates. In one example, for obtaining the plurality of defect point images, the computer-readable instructions are further executable by a processor to cause the processor to perform obtaining a plurality of raw defect point images; and selecting, from the plurality of raw defect point images, defect point images comprising more than a threshold number of defect points as the plurality of defect point images.

Optionally, the clustering analysis is performed using a hierarchical clustering method.

Optionally, the hierarchical clustering method is a single linkage clustering method.

Optionally, a Euclidean distance between adjacent defect points in a respective one of the plurality of clusters being equal to or less than a threshold value, a Euclidean distance between any two defect points respectively from two of the plurality of clusters being greater than the threshold value.

Various defects may occur in manufacturing of semiconductor electronics. Examples of defects include particle, remain, line defect, hole, splash, wrinkle, discoloration, and bubble. Defects occurring in the manufacturing of semiconductor electronics are difficult to trace. For example, engineers may have to rely on manual data sorting to analyze the root cause of defects based on experience.

In manufacturing a liquid crystal display panel, the fabrication of a display panel include at least an array stage, a color filter (CF) stage, a cell stage, and a module stage. In the array stage, a thin film transistor array substrate is fabricated. In one example, in the array stage, a material layer is deposited, the material layer is subject to lithography for example a photoresist is deposited on the material layer, the photoresist is subject to exposure and subsequently developed. Subsequently, the material layer is etched and the remaining photoresist is removed (“strip”). In the CF stage, a color filter substrate is fabricated, involving several steps including coating, exposure, and development. In the cell stage, the array substrate and the color filter substrate are assembled to form a cell. The cell stage includes several steps including coating and rubbing an alignment layer, injection of liquid crystal materials, cell sealant coating, cell assembly under vacuum, cutting, grinding, and cell inspection. In the module stage, peripheral components and circuits are assembled onto the panel. In one example, the module stage includes several steps including assembling of a back light, and assembling of a printed circuit board, polarizer attachment, assembling of chip-on-film, assembling of integrated circuits, aging, and final inspection.

In manufacturing an organic light emitting diode (OLED) display panel, the fabrication of a display panel include at least four device processes, include an array stage, an OLED stage, an EAC2 stage, and a Module stage. In the array stage, a back panel of the display panel is fabricated, e.g., including fabrication of a plurality of thin film transistors. In the OLED stage, a plurality of light emitting elements (e.g., organic light emitting diodes) are fabricated, an encapsulating layer is formed to encapsulate the plurality of light emitting elements, and optionally a protective film is formed on the encapsulating layer. In the EAC2 stage, large glasses are first cut into half glasses, and then further cut into panels. Moreover, in the EAC2 stage, inspection equipment is used to inspect the panels to detect defects therein, for example, dark spots and bright lines. In the Module stage, flexible printed circuits are bonded to the panels, e.g., using chip-on-film technology. Cover glass are formed on the surface of the panels. Optionally, further inspections are performed to detect defects in the panels. The data from the fabrication of display panels include biographical information, parameter information, and defect information, which are stored in a plurality of data sources. The biographical information is the record information uploaded to the database by each processing equipment from the array stage to the Module stage, including glass ID, equipment model, site information and so on. The parameter information includes data generated by the equipment when processing the glass. Defects may occur in each of the stages. The inspection information may be generated in each of the stages discussed above. Only after the inspection is completed, the inspection information can be uploaded to the database in real time. The inspection information may include defect type and defect position.

In summary, biographical information, parameter information, and defect information are obtained using various sensors and inspection equipment. The biographical information, parameter information, and defect information are analyzed using the intelligent defect analysis method or system, which can quickly determine device, site, and/or stage that generates a defect, providing critical information for subsequent process improvement and equipment repair or maintenance, greatly improving yield.

Accordingly, the present disclosure provides, inter alia, a data management platform, an intelligent defect analysis system, an intelligent defect analysis method, a computer-program product, and a method for defect analysis thereof that substantially obviate one or more of the problems due to limitations and disadvantages of the related art. The present disclosure provides an improved data management platform having superior functionality. Based on the present data management platform (or other suitable database or data management platform), the inventors of the present disclosure further develop a novel and unique intelligent defect analysis system, an intelligent defect analysis method, a computer-program product, and a method for defect analysis.

In one aspect, the present disclosure provides an intelligent defect analysis system. In some embodiments, the intelligent defect analysis system includes a distributed computing system including one or more networked computers configured to execute in parallel to perform at least one common task; one or more computer readable storage mediums storing instructions that, when executed by the distributed computing system, cause the distributed computing system to execute software modules. In some embodiments, the software modules include a data management platform configured to store data, and intelligently extract, transform, or load the data, wherein the data comprises at least one of biographical data information, parameter information, or defect information; an analyzer configured to perform defect analysis upon receiving a task request, the analyzer including a plurality of business servers and a plurality of algorithm servers, the plurality of algorithm servers configured to obtain the data directly from the data management platform and perform algorithm analysis on the data to derive a result data on underlying reasons for defects; and a data visualization and interaction interface configured to generate the task requests. Optionally, the intelligent defect analysis system is used for defect analysis in fabrication of display panels. As used herein, the term “distributed computing system” generally refers to an interconnected computer network having a plurality of network nodes that connect a plurality of servers or hosts to one another or to external networks (e.g., the Internet). The term “network node” generally refers to a physical network device. Example network nodes include routers, switches, hubs, bridges, load balancers, security gateways, or firewalls. A “host” generally refers to a physical computing device configured to implement, for instance, one or more virtual machines or other suitable virtualized components. For example, a host can include a server having a hypervisor configured to support one or more virtual machines or other suitable types of virtual components.

FIG. 6 illustrates a distributed computing environment in some embodiments according to the present disclosure. Referring to FIG. 6 , in a distributed computing environment, a number of autonomous computers/workstations, called nodes, are in communication with one another in a network, for example, a LAN (Local Area Network), to solve a task, such as execute an application. Each of the computer nodes typically includes its own processor(s), memory and a communication link to other nodes. The computers can be located within a particular location (e.g. cluster network) or can be connected over a large area network (LAN) such as the Internet. In such a distributed computing environment, different applications may share information and resources.

The network in the distributed computing environment may include local area networks (LAN) and wide area networks (WAN). The network may include wired technologies (e.g., Ethernet®) and wireless technologies (e.g., WiFi®, code division multiple access (CDMA), global system for mobile (GSM), universal mobile telephone service (UMTS), Bluetooth®, ZigBee®, etc.).

Multiple computing nodes are configured to join a resource group in order to provide distributed services. A computing node in the distributed network may include any computing device such as computing device or a user device. A computing node may also include data centers. As used herein, a computing node may refer to any computing device or multiple computing device (i.e., a data center). Software modules may be executed on a single computing node (e.g., a server) or distributed across multiple nodes in any suitable manner.

The distributed computing environment may also include one or more storage nodes for storing information related to execution of software modules, and/or output generated by execution of software modules, and/or other functions. The one or more storage nodes are in communication with one another in a network, and are in communication with one or more of the computing nodes in the network.

FIG. 7 illustrates software modules in an intelligent defect analysis system in some embodiments according to the present disclosure. Referring to FIG. 7 , the intelligent defect analysis system includes a distributed computing system including one or more networked computers configured to execute in parallel to perform at least one common task; one or more computer readable storage mediums storing instructions that, when executed by the distributed computing system, cause the distributed computing system to execute software modules. The software modules in some embodiments includes a data management platform DM configured to store data, and intelligently extract, transform, or load the data; a query engine QE connected to the data management platform DM and configured to obtain the data directly from the data management platform DM; an analyzer AZ connected to the query engine QE and configured to perform defect analysis upon receiving a task request, the analyzer AZ including a plurality of business servers BS (similar to backend servers) and a plurality of algorithm servers AS, the plurality of algorithm servers AS configured to obtain the data directly from the data management platform DM; and a data visualization and interaction interface DI configured to generate the task requests. Optionally, the query engine QE is a query engine based on Impala™ technology. As used herein, the term “connected to” in the context of the present disclosure refers to a relationship of having direct information or data flow from a first component of the system to a second component, and/or from the second component of the system to the first component.

FIG. 8 illustrates software modules in an intelligent defect analysis system in some embodiments according to the present disclosure. Referring to FIG. 8 , the data management platform DM in some embodiments includes an ETL module ETLP configured to extract, transform, or load data from a plurality of data sources DS onto a data mart DMT and a general data layer GDL. Upon receiving an assigned task, a respective one of the plurality of algorithm servers AS is configured to obtain a first data directly from the data mart DMT. Upon performing defect analysis, the respective one of the plurality of algorithm servers AS is configured to transmit a second data directly to the general data layer GDL. The plurality of algorithm servers AS deploy various common algorithms for defect analysis, e.g., algorithms based on big data analysis. The plurality of algorithm servers AS are configured to analyze the data to identify the causes of the defects. As used herein, the term “ETL module” refers to a computer program logic configured to provide functionality such as extracting, transforming, or loading data. In some embodiments, the ETL module is stored on a storage node, loaded into a memory, and executed by a processor. In some embodiments, the ETL module is stored on one or more storage nodes in a distributed network, loaded into one or more memory in the distributed network, and executed by one or more processors in the distributed network.

The data management platform DM stores data for the intelligent defect analysis system. For example, the data management platform DM stores data needed for algorithm analysis by the plurality of algorithm servers AS. In another example, the data management platform DM stores results of algorithm analysis. The data management platform DM in some embodiments includes the plurality of data sources DS (e.g., data stored in oracle databases), the ETL module ETLP, a data mart DMT (e.g., a data mart based on Apache Hbase™ technology), and the general data layer GDL (e.g., a data storage based on Apache Hive™ technology). For algorithm analysis and interactive display to a user, the data from the plurality of data sources DS are cleansed and consolidated into validated data by the ETL module ETLP. Examples of useful data for defect analysis include tracking history data, dv parameter data, map defect position data, and so on. The amount of data in a typical manufacturing process (e.g., of display panels) is huge, for example, there might be over 30 million items of dv parameter data each day in a typical manufacturing site. To meet the user's demand for defect analysis, it is necessary to increase the speed of reading production data by the algorithm server. In one example, the data required for algorithm analysis is stored in a data mart based on Apache Hbase™ technology to improve efficiency and save storage space. In another example, results of algorithm analysis and other auxiliary data are stored in a general data layer based on Apache Hive™ technology.

Apache Hive™ is an open source data warehouse system built on top of Hadoop used for querying and analyzing large data in form of structured and semi-structured stored in Hadoop files. Apache Hive™ is mainly used for batch processing and thus is known as OLAP. Also Real time processing is not possible in case of Hive. Apache Hive™ is not a database and has schema model.

Apache Hbase™ is a non-relational column-oriented distributed database which runs on the top of Hadoop distributed file system (HDFS). Moreover it is a NoSQL open source database that stores data in columns. Apache Hbase™ is mainly used for transactional processing and known as OLTP. However Real time processing is possible in case of Apache Hbase™. Apache Hbase™ is a type of NoSQL database and is free from schema model.

In one example, various components of the data management platform (e.g., the general data layer, the data warehouse, the data source) may be in form of a distributed data storage cluster, e.g., based on Apache Hadoop™ and/or Apache Hive™.

FIG. 13 illustrates a data management platform in some embodiments according to the present disclosure. Referring to FIG. 13 , in some embodiments, the data management platform includes a distributed storage system (DFS), such as Hadoop Distributed File System (HDFS). The data management platform is configured to collect data generated in a factory production process from a plurality of data sources DS. The data generated in the factory production process is stored in a relational database (e.g., oracle), e.g., using a RDBMS (Relational Database Management System) grid computing technique. In the RDBMS grid computing, a problem that requires very large amounts of computer power is divided into many small parts, which are distributed to many computers for processing. The results of distributed computing are combined to obtain the final result. For example, in an Oracle RAC (Real Application Cluster), all servers have direct access to all the data in the database. RDBMS grid computing based applications, however, have limited hardware scalability. When the amount of data reaches a certain order of magnitude, the input/output bottleneck of the hard disk makes it very inefficient to process large amounts of data. The parallel processing of the distributed file system can meet the challenge presented by the demand of increasing data storage and computing. In the process of intelligent defect analysis, first extracting the data from the plurality of data sources DS into the data management platform greatly expedite the process.

In some embodiments, the data management platform includes a plurality of groups of data having different contents and/or storage structure. In some embodiments, the ETL module ETLP is configured to extract raw data from a plurality of data sources DS into the data management platform, forming a first data layer (e.g., a data lake DL). The data lake DL is a centralized HDFS or kudu database that is configured to store any structure or unstructured data. Optionally, the data lake DL is configured to store a first group of data extracted by the ETL module ETLP from a plurality of data sources DS. Optionally, the first group of data and the raw data have a same content. The dimension and attributes of the raw data are preserved in the first group of data. In some embodiments, the first group of data stored in the data lake is dynamically updated. Optionally, the first group of data includes a real-time updated data stored in a Kudu™-based database, or a periodically updated data stored in a Hadoop distributed file system. In one example, the periodically updated data stored in the Hadoop distributed file system is a periodically updated data stored in a storage based on Apache Hive™.

In some embodiments, the data management platform includes a second data layer, e.g., the data warehouse DW. The data warehouse DW includes an internal storage system configured to provide data in abstracted manner such as in a table format or a View format, without exposing the file system. The data warehouse DW may be based on Apache Hive™. The ETL module ETLP is configured to extract, cleanse, transform, or load the first group of data to form a second group of data. Optionally, the second group of data is formed by subjecting the first group of data to cleansing and standardization.

In some embodiments, the data management platform includes a third data layer (e.g., a general data layer GDL). The general data layer GDL may be based on Apache Hive™. The ETL module ETLP is configured to perform data fusion on the second group of data, thereby forming a third group of data. In one example, the third group of data is a data resulting from subjecting the second group of data to data fusion. Examples of data fusion include concatenation based on a same field in multiple tables. Examples of data fusion further include generation of statistics of a same field or record (e.g., summation and percentage calculation). In one example, generation of statistics includes counting a number of defective panels in a glass, and a percentage of defective panels among a plurality of panels in a same glass. Optionally, the general data layer GDL is based on Apache Hive™. Optionally, the general data layer GDL is used for data query.

In some embodiments, the data management platform includes a fourth data layer (e.g., at least one data mart). In some embodiments, the at least one data mart include a data mart DMT. Optionally, the data mart DMT is a database of NoSQL type storing information available for computational processing. Optionally, the data mart DMT is based on Apache Hbase™. Optionally, the data mart DMT is used for computation. The ETL module ETLP is configured to layerize the third data layer to form a fourth group of data having a multi-layer index structure. The fourth group of data categorizes data based on different types and/or rules, thereby forming the multi-layer index structure. The first index in the multi-layer index structure corresponds to filtering criteria of a front-end interface, e.g., corresponds to user-defined analysis criteria in an interactive task sub-interface in communication with the data management platform, facilitating a more expedited data query and computation process.

In some embodiments, the data in the general data layer GDL can be imported into the data mart DMT. In one example, a first table is generated in the data mart DMT, and a second table (e.g., an external table) is generated in the general data layer GDL. The first table and the second table are configured to be synchronized so that when data is written into the second table, the first table will be simultaneously updated to include corresponding data.

In another example, a distributed computing processing module may be used for reading data written onto the general data layer GDL. Hadoop MapReduce module may be used as the distributed computing processing module for reading data written onto the general data layer GDL. The data written onto the general data layer GDL may then be written onto the data mart DMT. In one example, the data may be written into the data mart DMT using a HBase Api. In another example, the Hadoop MapReduce module, once read the data written onto the data mart DMT, can generate HFile, which is Bulkloaded onto the data mart DMT.

In some embodiments, data flow, data transformation, and data structure among various components of the data management platform are described herein. In some embodiments, raw data collected by the plurality of data sources DS includes at least one of biographical data information, parameter information, or defect information. The raw data optionally may contain dimension information (time, plant, equipment, operator, Map, chamber, Slot, etc.) and attribute information (plant location, equipment age, number of bad points, exception parameters, energy consumption parameters, process duration, etc.).

Biographical data information contains information of specific processes a product (such as a panel or a glass) is subject to during the manufacturing. Examples of specific processes a product is subject to during the manufacturing include factory, process, site, device, chamber, card slot, and operator.

Parameter information contains information of information of specific environmental parameters and changes thereof a product (such as a panel or a glass) is subject to during the manufacturing. Examples of specific environmental parameters and changes thereof a product is subject to during the manufacturing include environmental particle condition, device temperature, and device pressure.

Defect information contains information of product quality based upon inspection. Examples product quality information include defect type, defect position, and defect dimension.

In some embodiments, parameter information includes device parameter information. Optionally, device parameter information includes at least three types of data, which may be exported from a General Model for Communications and Control of Manufacturing Equipment (GEM) interface. A first type of data that can be exported from a GEM interface is data variable (DV), which can be collected as the event occurs. Thus, the data variable is only valid in the context of the event. In one example, the GEM interface can provide an event called PPChanged, which is triggered when a recipe is changed; and a data variable named “changed recipe”, which is only valid in the context of the PPChanged event. Polling this value at other times may have invalid or unexpected data. A second type of data that can be exported from a GEM interface is status variable (SV), which contains device specific information that is valid at any time. In one example, the device may be a temperature sensor, and the GEM interface provides temperature status variable of one or more modules. The host can request a value of this status variable at any time, and can expect that the value to be true. A third type of data that can be exported from a GEM interface is device constant (EC), which contains data items set by the device. The device constant determines the behavior of the device. In one example, the GEM interface provides a device constant name “MaxSimultaneousTraces” that specifies the maximum number of traces that can be requested from the host at the same time. The value of the device constant is always guaranteed to be valid and up-to-date.

In some embodiments, the data lake DL is configured to store a first group of data formed by extracting raw data from a plurality of data sources by the ETL module ETLP, the first group of data having same contents as the raw data. The ETL module ETLP is configured to extract the raw data from the plurality of data sources DS while maintaining the dimension information (e.g., dimension columns) and the attribute information (e.g., attribute columns). The data lake DL is configured to store the extracted data arranged according to time of extraction. The data may be stored in the data lake DL with a new name indicating “data lake” and/or attribute(s) of respective data sources, while maintaining the dimension and attributes of the raw data. The first group of data and the raw data are stored in different forms. The first group of data is stored in a distributed file system, while the raw data is stored in a relational database such as an Oracle database. In one example, the business data collected by the plurality of data sources DS includes data from various business systems, including, for example, yield management system (YMS), fault detection and classification (FDC) system, and manufacturing execution system (MES). The data in these business systems have their respective signatures, such as product model, production parameters and equipment model data. The ETL module ETLP, using tools such as sqoop command, number stack tool, pentaho tool, extracts raw production data from each of the business systems into hadoop in the original data format, thereby achieving convergence of data from multiple business systems. The extracted data are stored in the data lake DL. In another example, the data lake DL is based on technologies such as Hive™ and Kudu™. The data lake DL contains dimension columns (time, plant, equipment, operator, Map, chamber, Slot, etc.) and attribute columns (plant location, equipment age, number of bad points, exception parameters, energy consumption parameters, process duration, etc.) involved in the factory automation process.

In one example, the present data management platform integrates various business data (e.g., data associated with semiconductor electronics manufacturing) into the plurality of data sources DS (e.g., Oracle databases). The ETL module ETLP extracts the data from the plurality of data sources DS into the data lake DL, for example, using a number stack tool, a SQOOP tool, a kettle tool, a Pentaho tool, or a DataX tool. The data is then cleansed, transformed and loaded into the data warehouse DW and the general data layer GDL. The data warehouse DW, the general data layer GDL, and the data mart DMT store huge amount of data and analytical results, utilizing tools such as Kudu™, Hive™, and Hbase™.

Information generated in various stages of the fabrication process is obtained by various sensors and inspection equipment, and subsequently saved in the plurality of data sources DS. Computation and analysis results generated by the present intelligent defect analysis system are also saved in the plurality of data sources DS. Data synchronization (flow of data) among the various components of the data management platform is realized through the ETL module ETLP. For example, the ETL module ETLP is configured to obtain parameter configuration templates of synchronized processes, including network permissions and database port configuration, in-flow data library name and table names, out-flow data library name and table names, field correspondence, task type, scheduling cycle, and so on. The ETL module ETLP configures parameters to the synchronized processes based on the parameter configuration templates. The ETL module ETLP synchronizes data and cleanses synchronized data based on process configuration templates. The ETL module ETLP cleanses the data through SQL statements to remove null, remove outliers, and establish correlation between related tables. Data synchronization tasks include data synchronization between the plurality of data sources DS and the data management platform, and data synchronization among various layers (e.g., the data lake DL, the data warehouse DW, the general data layer GDL, or the data mart DMT) of the data management platform.

In another example, data extraction to the data lake DL may be done in real time or offline. In the offline mode, the data extraction tasks are scheduled periodically. Optionally, in the offline mode, the extracted data may be stored in a storage based on Hadoop distributed file system (e.g., a Hive™-based database). In the real-time mode, the data extraction tasks may be performed by OGG (Oracle GoldenGate) in combination with Apache Kafka.

Optionally, in the real time mode, the extracted data may be stored in Kudu™-based database. OGG reads the log files in the plurality of data sources (e.g., oracle database) to get the add/delete data. In another example, the topic information is read by flink, json is selected as the synchronized field type. The data is parsed using jar package, and the parsed information is transmitted to kudu api to realize the add/delete of kudu table data. In one example, a front-end interface may perform displaying, querying, and/or analysis based on data stored in the Kudu™-based database. In another example, the front-end interface may perform displaying, querying, and/or analysis based on data stored in any one or any combination of the Kudu™-based database, a Hadoop distributed file system (e.g., an Apache Hive-based database), and/or an Apache Hbase™-based database. In another example, short term data (e.g., generated within several months) is stored in the Kudu™-based database, and long term data (e.g., an entirety of data generated in all periods) is stored in a Hadoop distributed file system (e.g., the Apache Hive™-based database). In another example, the ETL module ETLP is configured to extract data stored in the Kudu™-based database into the a Hadoop distributed file system (e.g., the Apache Hive™-based database).

The data warehouse DW is built based on the data lake DL, by combing the data from various business systems (MDW, YMS, MES, FDC, etc.). The data extracted from the data lake DL is partitioned according to task execution time, which does not fully match the time stamp in the raw data. In addition, there is a possibility of data duplication. Thus, it is necessary to build the data warehouse DW based on the data lake DL, by cleaning and standardizing the data in the data lake DL to meet the needs of upper layer applications for data accuracy and partitioning. The data tables stored in the data warehouse DW is obtained by subjecting the data in the data lake DL to cleaning and standardization. Based on user requirements, the field format is standardized to ensure that the data tables in the data warehouse DW are completely consistent with that in the plurality of data sources DS. At the same time, the data is partitioned by day or month according to time and other fields, greatly improving query efficiency and reducing running memory requirement. The data warehouse DW may be one or any combination of the Kudu™-based database and an Apache Hive™-based database.

In some embodiments, the ETL module ETLP is configured to cleanse the extracted data stored in the data lake into the cleansed data, and the data warehouse is configured to store the cleansed data. Examples of cleansing performed by the ETL module ETLP include removal of redundant data, removal of null data, remove of dummy field, and so on.

In some embodiments, the ETL module ETLP is further configured to performed standardization (e.g., field standardization and format standardization) on the extracted data stored in the data lake, and the cleansed data are data subject to the field format standardization (e.g., format standardization of date and time information).

In some embodiments, at least a portion of the business data in the plurality of data sources DS is in a binary large object (blob) format. After the data extraction, at least a portion of the extracted data stored in the data lake DL is in a compressed hexadecimal format. Optionally, at least a portion of the cleansed data stored in the data warehouse DW is obtained by decompressing and processing the extracted data. In one example, the business systems (e.g., FDC system discussed above) are configured to store a huge amount of parameter data. Thus, the data has to be compressed into the blob format in the business systems. During data extraction (e.g., from the oracle database to the hive database), the blob field will be converted into a hexadecimal (HEX) string. To retrieve the parameter data stored in the file, the HEX file is decompressed and the contents of the file can be obtained directly thereafter. The required data is coded to form a long string, and the different contents are split by specific symbols, depending on output requirements. To obtain data in the required format, the long string is subject to operations such as cutting according to special characters and row-column conversion. The processed data is written into the target table (e.g., data in a table format stored in the data warehouse DW discussed above) along with the original data.

In one example, the cleansed data stored in the data warehouse DW maintains the dimension information (e.g., dimension columns) and the attribute information (e.g., attribute columns) of the raw data in the plurality of data sources DS. In another example, the cleansed data stored in the data warehouse DW maintains a same data table name as that in the plurality of data sources DS.

In some embodiments, the ETL module ETLP is further configured to generate a dynamically updated table that is automatically updated periodically. Optionally, a general data layer GDL is configured to store the dynamically updated table comprising information on defects of high occurrence, as discussed above. Optionally, the data mart DMT is configured to store the dynamically updated table comprising information on defects of high occurrence, as discussed above.

The general data layer GDL is built based on the data warehouse DW. In some embodiments, the GDL is configured to store a third group of data formed by subjecting the second group of data to data fusion by the ETL module ETLP. Optionally, the data fusion are performed based on different themes. The data in the general data layer GDL are highly themed and highly aggregated, greatly improving query speed. In one example, tables having correlation constructed according to different user needs or different themes may be built using the tables in the data warehouse DW, the tables being assigned names according to their respective utilities.

Various themes may correspond to different data analysis needs. For example, themes may correspond to different defect analysis needs. In one example, a theme may correspond to analysis of defects attributed to one or more fabrication node groups (e.g., one or more devices), and the data fusion based on said theme may include data fusion on biographical information of manufacturing process and defect information associated therewith. In another example, a theme may correspond to analysis of defects attributed to one or more parameter types, and the data fusion based on said theme may include data fusion on parameter feature information and defect information associated therewith. In another example, a theme may correspond to analysis of defects attributed to one or more device operations (e.g., device defined by a respective operation site at which the respective device perform a respective operation), and the data fusion based on said theme may include data fusion on parameter feature information, biographical information of manufacturing process, and defect information associated therewith. In another example, a theme may correspond to feature extraction on parameters of various types to generate parameter feature information, wherein one or more of a maximum value, a minimum value, an average value, and a median value are extracted for each type of parameters.

In some embodiments, defect analysis includes performing feature extraction on parameters of various types to generate parameter feature information; and performing data fusion on at least two of the parameter feature information, biographical information of a manufacturing process, and defect information associated therewith. Optionally, performing data fusion includes performing data fusion on parameter feature information and defect information associated therewith. Optionally, performing data fusion includes performing data fusion on parameter feature information, biographical information of the manufacturing process, and defect information associated therewith. In another example, performing data fusion includes performing data fusion on the parameter feature information and biographical information of the manufacturing process to obtain first fused data information; and performing data fusion on the first fused data information and defect information associated therewith to obtain second fused data information. In one example, the second fused data information includes glass serial number, manufacturing site information, device information, the parameter feature information, and the defect information. The data fusion is performed in the general data layer GDL, e.g., by building tables having correlation constructed according to user needs or themes. Optionally, the step of performing data fusion includes performing data fusion on the biographical information and the defect information. Optionally, the step of performing data fusion includes performing data fusion on all three of the parameter feature information, biographical information of a manufacturing process, and defect information associated therewith.

In one example, the CELL_PANEL_MAIN table in the data warehouse DW stores the basic biographical data of the panel in the cell factory, and the CELL_PANEL_CT table stores the details of the CT process in the factory. The general data layer GDL is configured to perform a correlation operation based on the CELL_PANEL_MAIN table and the CELL_PANEL_CT table, to create a wide table YMS_PANEL. The basic biographical data of the panel and the details of the CT process can be queried in the YMS_PANEL table. The YMS prefix in the table name “YMS_PANEL” stands for the themes for defect analysis, and the PANEL prefix stands for specific PANEL information stored in the table. By subjecting the tables in the data warehouse DW to the correlation operation by the general data layer GDL, data in different tables can be fused and correlated.

According to different business analysis requirements, and based on glass, hglass, and panel, the tables in the general data layer GDL can be classified into the following datatags: production biographic, defect rate, defect MAP, DV, SV, inspection data, and test data.

The data mart DMT is build based on the data warehouse DW and/or the general data layer GDL. The data mart DMT may be used for providing various reporting data and data needed for analysis, particularly highly customized data. In one example, customized data provided by the data mart DMT include consolidated data on defect rates, frequency of specific defects, and so on. In another example, data in the data lake DL and the general data layer GDL are stored in Hive-based databases, data in the data mart DMT are stored in Hbase-based databases. Optionally, table names in the data mart DMT can be kept consistent with those in the general data layer GDL. Optionally, the general data layer GDL is based on Apache Hive technology, and the data mart DMT is based on Apache Hbase™ technology. The general data layer GDL is used for data query through a user interface. Data in Hive can be quickly queried in Hive through Impala. The data mart DMT is used for computation. Based on the advantage of columnar data storage in Hbase, the plurality of algorithm servers AS can quickly access the data in the Hbase.

In some embodiments, the data mart DMT is configured to store a plurality of sub-tables split from a respective one of the data tables stored in the general data layer GDL. In some embodiments, the data stored in the data mart DMT and the data stored in the general data layer GDL have the same contents. The data stored in the data mart DMT and the data stored in the general data layer GDL differ from each other in that they are stored in different data models. Depending on different types of NoSQL databases used for the data mart DMT, the data in the data mart DMT may be stored in different data models. Examples of data models corresponding to different NoSQL databases include a key-value data model, a column family data model, a versioned document data model, and a graph structure data model. In some embodiments, a query to the data mart DMT may be performed based on specified keys, to quickly locate the data (e.g., values) to be queried. Accordingly, and as more specifically discussed below, the table stored in the general data layer GDL may be split into at least three sub-tables in the data mart DMT. The first sub-table corresponds to user-defined analysis criteria in an interactive task sub-interface. The second sub-table corresponds to specified keys (e.g., product serial numbers). The third sub-table corresponds to values (e.g., the values stored in the table in the general data layer GDL, comprising fused data). In one example, the data mart DMT utilizes a NoSQL database based on the Apache Hbase™ technology; the specified keys in the second sub-table may be row keys; and the fused data in the third sub-table may be stored in a column family data model. Optionally, the fused data in the third sub-table may be fused data from at least two of the parameter feature information, biographical information of a manufacturing process, and defect information associated therewith. Moreover, the data mart DMT may include a fourth sub-table. Certain characters in the third sub-table may be stored in codes, for example, due to their lengths or other reasons. The fourth sub-table includes the characters (e.g., device names, fabrication sites) corresponding to these codes stored in the third sub-table. The indexes or queries among the first sub-table, the second sub-table, and the third sub-table may be based on the codes. The fourth sub-table may be utilized to replace the codes with the characters before the results are presented to the user interface.

In some embodiments, the plurality of sub-tables have index relationship between at least two sub-tables of the plurality of sub-tables. Optionally, data in the plurality of sub-tables are categorized based on types and/or rules. In some embodiments, the plurality of sub-tables includes a first sub-table (e.g., an attribute sub-table) comprising a plurality of environmental factors corresponding to user-defined analysis criteria in an interactive task sub-interface in communication with the data management platform; a second sub-table comprising product serial numbers (e.g., glass identification numbers or lot identification numbers); and a third sub-table (e.g., a main sub-table) comprising values in the third group of data that correspond to the product serial numbers. Optionally, based on different themes, the second sub-table may include different specified keys such as the glass identification numbers or the lot identification numbers (e.g., multiple second sub-tables). Optionally, values in the third group of data that correspond to the glass identification numbers through an index relationship between the third sub-table and the second sub-table. Optionally, the plurality of sub-tables further includes a fourth sub-table (e.g., a metadata sub-table) comprising values in the third group of data that correspond to the lot identification numbers. Optionally, the second sub-table further includes lot identification numbers; values in the third group of data that correspond to the lot identification numbers may be obtained through an index relationship between the second sub-table and the fourth sub-table. Optionally, the plurality of sub-tables further includes a fifth sub-table (e.g., a code generator sub-table) comprising manufacturing site information and device information. Optionally, the third sub-table includes codes or abbreviations for manufacturing site and device, through an index relationship between the third sub-table and the fifth sub-table, the manufacturing site information and device information may be obtained from the fifth sub-table.

FIG. 14 depicts a plurality of sub-tables split from a data table stored in a general data layer in some embodiments according to the present disclosure. Referring to FIG. 14 , in some embodiments, the plurality of sub-tables include one or more of: an attribute sub-table comprising a plurality of environmental factors corresponding to user-defined analysis criteria in an interactive task sub-interface in communication with the data management platform; a context sub-table comprising at least first multiple environmental factors of the plurality of environmental factors and multiple manufacture stage factors, and multiple columns corresponding to second multiple environmental factors of the plurality of environmental factors; a metadata sub-table comprising at least a first manufacture stage factor of the multiple manufacture stage factors and a device factor associated with a first manufacture stage, and multiple columns corresponding to parameters generated in the first manufacture stage; a main sub-table comprising at least a second manufacture stage factor of the multiple manufacture stage factors, and multiple columns corresponding to parameters generated in a second manufacture stage; and a code generator sub-table comprising at least third multiple environmental factors of the plurality of environmental factors and the device factor.

In one example, the plurality of sub-tables include one or more of: an attribute sub-table including a key made up of datatag, factory information, manufacturing site information, product model information, product type information, and product serial number; a context sub-table including a key made up of first three numbers of MED5 encryption site, the factory information, the manufacturing site information, the datatag, manufacture end time, lot serial number, and glass serial number, a first column for the product model information, a second column for the product serial number, and a third column for the product type information; a metadata sub-table including a key made up of the first three numbers of MED5 encryption site, the lot serial number, the datatag, the manufacturing site information, and device information, a first column for manufacturing time, and a second column for manufacturing parameter; a main sub-table including a key made up of the first three numbers of MED5 encryption site, serial number, and the glass serial number, a first column for the manufacturing time, and a second column for manufacturing parameter; and a code generator sub-table including a key made up of the datatag, the manufacturing site information, and the device information. Optionally, the plurality of environmental factors in the attribute sub-table include datatag, factory information, manufacturing site information, product model information, product type information, and product serial number. Optionally, the multiple manufacture stage factors include the lot serial number and the glass serial number.

Optionally, the device factor comprises the device information.

Referring to FIG. 7 and FIG. 8 , the software modules in some embodiments further include a load balancer LB connected to the analyzer AZ. Optionally, the load balancer LB (e.g., a first load balancer LB1) is configured to receive task requests and configured to assign the task requests to one or more of the plurality of business servers BS to achieve load balance among the plurality of business servers BS. Optionally, the load balancer LB (e.g., a second load balancer LB2) is configured to assign tasks from the plurality of business servers BS to one or more of the plurality of algorithm servers AS to achieve load balance among the plurality of algorithm servers AS. Optionally, the load balancer LB is a load balancer based on Nginx™ technology.

In some embodiments, the intelligent defect analysis system is configured to meet demands of many users simultaneously. By having the load balancer LB (e.g., the first load balancer LB1), the system sends user requests to the plurality of business servers AS in a balanced manner, keeping the overall performance of the plurality of business servers AS optimal and preventing the slow response of services due to excessive pressure on a single server.

Similarly, by having the load balancer LB (e.g., the second load balancer LB2), the system sends tasks to the plurality of algorithm servers AS in a balanced manner, keeping the overall performance of the plurality of algorithm servers AS optimal. In some embodiments, when designing the load balancing strategy, not only the number of tasks sent to each of the plurality of algorithm servers AS should be considered, but also the amount of computational burden required by each task. In one example, three types of tasks are involved, including defect analysis of a type “glass”, defect analysis of a type “hglass”, and defect analysis of a type “panel”. In another example, a number of defect data items associated with the type “glass” is 1 million per week on average, and a number of defect data items associated with the type “panel” is 30 million per week on average. Thus, the amount of computational burden required defect analysis of the type “panel” is far greater than the amount of computational burden required defect analysis of the type “glass”. In another example, the load balancing is performed using a formula f (x, y, z)=mx+ny+oz, wherein x stands for the number of tasks for defect analysis of the type “glass”; y stands for the number of tasks for defect analysis of the type “hglass”; z stands for the number of tasks for defect analysis of the type “panel”; m stands for a weight assigned for defect analysis of the type “glass”; n stands for a weight assigned for defect analysis of the type “hglass”; and o stands for a weight assigned for defect analysis of the type “panel”. The weights are assigned based on the amount of computational burden required defect analysis of each type. Optionally, m+n+o=1.

In some embodiments, the ETL module ETLP is configured to generate a dynamically updated table that is automatically updated periodically (e.g., every day, every hour, etc.). Optionally, the general data layer GDL is configured to store the dynamically updated table. In one example, the dynamically updated table is generated based on the logic of calculating the incidence of defects in a factory. In another example, data from multiple tables in the data management platform DM are consolidated and subject to various calculation to generate the dynamically updated table. In another example, the dynamically updated table includes information such as job name, defect code, occurrence frequency of defect code, the level of the defect code (glass/hglass/panel), factory, product model, date and other information. The dynamically updated table is updated regularly, when the production data in the data management platform DM changes, the information in the dynamically updated table will be updated accordingly, so as to ensure that the dynamically updated table can have all the factory's defect code information.

FIG. 9 illustrates an intelligent defect analysis method using an intelligent defect analysis system in some embodiments according to the present disclosure. Referring to FIG. 9 , in some embodiments, the data visualization and interaction interface DI is configured to generate a task request; the load balancer LB is configured to receive the task request and configured to assign the task request to one or more of the plurality of business servers to achieve load balance among the plurality of business servers; the one or more of the plurality of business servers are configured to transmit a query task request to the query engine QE; the query engine QE, upon receiving the query task request from the one or more of the plurality of business servers, is configured to query the dynamically updated table to obtain information on defects of high occurrence, and transmit the information on defects of high occurrence to one or more of the plurality of business servers; the one or more of the plurality of business servers are configured to transmit defect analysis tasks to the load balancer LB for assigning the defect analysis tasks to the one or more of the plurality of algorithm servers to achieve load balance among the plurality of algorithm servers; upon receiving the defect analysis tasks, the one or more of the plurality of algorithm servers are configured to obtain the data directly from the data mart DMT to perform defect analysis; and upon completion of the defect analysis, the one or more of the plurality of algorithm servers are configured to transmit results of the defect analysis to the general data layer GDL.

The query engine QE enables fast access to the data management platform DM, e.g., reading and writing data quickly to or from the data management platform DM. As compared to direct query through a general data layer GDL, having the query engine QE is advantageous as it obviates the need of executing a map reduce (MR) program in order to query the general data layer GDL (e.g., Hive data storage). Optionally, the query engine QE may be a distributed query engine that can query the general data layer GDL (HDFS or Hive) in real time, greatly reducing latency and improving the responsiveness of the entire system. The query engine QE may be implemented using various appropriate technologies. Examples of technologies for implementing the query engine QE include Impala technology, Kylin™ technology, Presto™ technology, and Greenplum™ technology.

In some embodiments, the task request is an automatically recurring task request, the automatically recurring task request defining a recurring period for which the defect analysis is to be performed. FIG. 10 illustrates an intelligent defect analysis method using an intelligent defect analysis system in some embodiments according to the present disclosure. Referring to FIG. 10 , in some embodiments, the data visualization and interaction interface DI is configured to generate an automatically recurring task request; the load balancer LB is configured to receive the automatically recurring task request and configured to assign the automatically recurring task request to one or more of the plurality of business servers to achieve load balance among the plurality of business servers; the one or more of the plurality of business servers are configured to transmit a query task request to the query engine QE; the query engine QE, upon receiving the query task request from the one or more of the plurality of business servers, is configured to query the dynamically updated table to obtain information on defects of high occurrence limited to the recurring period, and transmit the information on defects of high occurrence to one or more of the plurality of business servers; upon receiving the information on defects of high occurrence during the recurring period, the one or more of the plurality of business servers are configured to generate the defect analysis tasks based on the information on defects of high occurrence during the recurring period; the one or more of the plurality of business servers are configured to transmit defect analysis tasks to the load balancer LB for assigning the defect analysis tasks to the one or more of the plurality of algorithm servers to achieve load balance among the plurality of algorithm servers; upon receiving the defect analysis tasks, the one or more of the plurality of algorithm servers are configured to obtain the data directly from the data mart DMT to perform defect analysis; and upon completion of the defect analysis, the one or more of the plurality of algorithm servers are configured to transmit results of the defect analysis to the general data layer GDL.

Referring to FIG. 8 , the data visualization and interaction interface DI in some embodiments includes an automatic task sub-interface SUB 1 allowing input of the recurring period for which the defect analysis is to be performed. The automatic task sub-interface SUB 1 enables automatic defect analysis of defects of high occurrence periodically. In the automatic task mode, the information on defects of high occurrence is transmitted to the plurality of algorithm servers AS for analyzing the underlying reasons for causing the defects. In on example, a user sets up the recurring period for which the defect analysis is to be performed in the automatic task sub-interface SUB 1. The query engine QE regularly captures the defect information from the dynamically updated table based on the system settings, and sends the information to the plurality of algorithm servers AS for analysis. In this way, the system can automatically monitor the defects of high occurrence, and the corresponding analysis results can be stored in a cache ready to be accessed for display in the data visualization and interaction interface DI.

In some embodiments, the task request is an interactive task request. FIG. 11 illustrates an intelligent defect analysis method using an intelligent defect analysis system in some embodiments according to the present disclosure. Referring to FIG. 11 , in some embodiments, the data visualization and interaction interface DI is configured to receive a user-defined analysis criteria, and configured to generate the interactive task request based on the user-defined analysis criteria; the data visualization and interaction interface DI is configured to generate an interactive task request; the load balancer LB is configured to receive the interactive task request and configured to assign the interactive task request to one or more of the plurality of business servers to achieve load balance among the plurality of business servers; the one or more of the plurality of business servers are configured to transmit a query task request to the query engine; the query engine QE, upon receiving the query task request from the one or more of the plurality of business servers, is configured to query the dynamically updated table to obtain information on defects of high occurrence, and transmit the information on defects of high occurrence to one or more of the plurality of business servers; upon receiving the information on defects of high occurrence, the one or more of the plurality of business servers are configured to transmit the information to the data visualization and interaction interface; the data visualization and interaction interface DI is configured to display the information on defects of high occurrence and a plurality of environmental factors associated with the defects of high occurrence, and configured to receive a user-defined selection of one or more environmental factors from a plurality of environmental factors, and transmit the user-defined selection to the one or more of the plurality of business servers; the one or more of the plurality of business servers are configured to generate the defect analysis tasks based on the information and the user-defined selection; the one or more of the plurality of business servers are configured to transmit defect analysis tasks to the load balancer LB for assigning the defect analysis tasks to the one or more of the plurality of algorithm servers to achieve load balance among the plurality of algorithm servers; upon receiving the defect analysis tasks, the one or more of the plurality of algorithm servers are configured to obtain the data directly from the data mart DMT to perform defect analysis; and upon completion of the defect analysis, the one or more of the plurality of algorithm servers are configured to transmit results of the defect analysis to the general data layer GDL.

Referring to FIG. 8 , the data visualization and interaction interface DI in some embodiments includes an interactive task sub-interface SUB2 allowing input of the user-defined analysis criteria including the user-defined selection of one or more environmental factors. In one example, the user may filter various environmental factors, level-by-level, including data source, factory, manufacturing site, model, product model, lot, etc. in the interactive task sub-interface SUB2. The one or more of the plurality of business servers BS are configured to generate the defect analysis tasks based on the information on defects of high occurrence and the user-defined selection of one or more environmental factors. The analyzer AZ interacts with the general data layer GDL continuously, and causes the selected one or more environmental factors to be displayed on the interactive task sub-interface SUB2. The interactive task sub-interface SUB2 allows a user, based on the user's experience, limit the environmental factors to a few, for example, certain selected equipment or certain selected parameters.

In some embodiments, the general data layer GDL is configured to generate tables based on different themes. In one example, the tables include a tracking table containing biographical information, which contains information of sites and devices that glass or panel has passed through during the entire fabrication process. In another example, the tables include a dv table containing parameter information uploaded by the devices. In another example, if the user only wants to analyze equipment correlation, the user can select the tracking table for analysis. In another example, if the user only wants to analyze the equipment parameters, the user can select the dv table for analysis.

Referring to FIG. 8 , the analyzer AZ in some embodiments further includes a cache server CS and a cache C. The cache C is connected to the plurality of business servers BS, the cache server CS, and the query engine QE. The cache C is configured to store a portion of results of previously performed defect analysis tasks. In some embodiments, the data visualization and interaction interface DI further includes a defect visualization sub-interface SUB-3. In one example, a main function of the defect visualization sub-interface SUB-3 is to allow a user to customize the query and display corresponding results of previously performed defect analysis tasks upon a user clicking on a defect code. In one example, the user clicks on the defect code and the system sends the request to one or more of the plurality of business servers BS via the load balancer LB. The one or more of the plurality of business servers BS first queries result data cached in the cache C, and the system displays the cached result data directly if it exists. If the result data corresponding to the selected defect code is not presently cached in the cache C, the query engine QE is configured to query the general data layer GDL for the result data corresponding to the selected defect code. Once queried, the system caches the result data corresponding to the selected defect code in the cache C, which may be available for a next query on the same defect code.

FIG. 12 illustrates an intelligent defect analysis method using an intelligent defect analysis system in some embodiments according to the present disclosure. Referring to FIG. 12 , in some embodiments, the defect visualization sub-interface DI is configured to receive a user-defined selection of a defect to be analyzed and generate a call request; the load balancer LB is configured to receive the call request and configured to assign the call request to one or more of the plurality of business servers to achieve load balance among the plurality of business servers; the one or more of the plurality of business servers is configured to transmit the call request to the cache server; and the cache server is configured to determine whether information on the defect to be analyzed is stored in the cache. Optionally, upon a determination that the information on the defect to be analyzed is stored in the cache, the one or more of the plurality of business servers is configured to transmit the information on the defect to be analyzed to the defect visualization sub-interface for displaying. Optionally, upon a determination that the information on the defect to be analyzed is not stored in the cache, the one or more of the plurality of business servers is configured to transmit a query task request to the query engine; the query engine, upon receiving the query task request from the one or more of the plurality of business servers, is configured to query the dynamically updated table to obtain information on the defect to be analyzed, and transmit the information on the defect to be analyzed to the cache; the cache is configured to store the information on the defect to be analyzed; and the one or more of the plurality of business servers is configured to transmit the information on the defect to be analyzed to the defect visualization sub-interface for displaying.

Optionally, the portion of results of previously performed defect analysis tasks includes results of previously performed defect analysis tasks based on automatically recurring task requests. Optionally, the portion of results of previously performed defect analysis tasks includes results of previously performed defect analysis tasks based on automatically recurring task requests; and results of previously performed defect analysis tasks obtained based on the query task request.

By having the cache server CS, high demand on the response speed of the system (e.g., displaying results associated with a defect code) can be met. In one example, up to as much as 40 tasks may be generated every half an hour by the automatic recurring task requests, with each task associated with up to five different defect codes, and each defect code associated with up to 100 environmental factors. If all the analysis results are cached, a total number of 40*5*100=20,000 queries will have to be stored in the cache C, which will be puts a lot of pressure on cluster memory. In one example, the portion of results of previously performed defect analysis tasks are limited to results associated with the top three highest ranked defect codes, and only this portion is cached.

Various appropriate methods for defect analysis may be implemented by one or more of the plurality of algorithm servers of the intelligent defect analysis system described herein. FIG. 15 illustrates a method of defect analysis in some embodiments according to the present disclosure. Referring to FIG. 15 , in some embodiments, the method includes obtaining fabrication data information comprising defect information; sorting the fabrication data information according to fabrication node groups into a plurality of groups of data, a respective one of the plurality of groups of data associated with a respective fabrication node group of the fabrication node groups; calculating weights of evidence for the fabrication node groups to obtain a plurality of weights of evidence, wherein weights of evidence represent variability between a percentage of defects in the respective fabrication node group with respect to a percentage of defects in an entirety of the fabrication node groups; ranking the plurality of groups of data based on the plurality of weights of evidence; obtaining a list of plurality of groups of data ranked based on the plurality of weights of evidence; and performing defect analysis on one or more selected groups of the plurality of groups of data. Optionally, the respective fabrication node group comprises one or more selected from a group consisting of a fabrication procedure, a device, a site, and a process section. Optionally, the fabrication data information may be obtained from the data mart DMT. Optionally, the fabrication data information may be obtained from the general data layer GDL.

Optionally, the method includes processing fabrication data information comprising biographical data information, defect information, to obtain a processed data; sorting the processed data according to equipment groups into a plurality of groups of data, a respective one of the plurality of groups of data associated with a respective equipment group of the equipment groups; calculating weights of evidence for the equipment groups to obtain a plurality of weights of evidence; ranking the plurality of groups of data based on the plurality of weights of evidence; and performing defect analysis on one or more groups of the plurality of groups of data having highest ranking. Optionally, the defect analysis is performed on a parameter level.

In some embodiments, a respective weight of evidence for the respective equipment group is calculated according to Equation (1):

$\begin{matrix} {{{woe_{i}} = {{{In}\frac{P\left( {Yi} \right)}{p\left( n_{i} \right)}} = {{In}\frac{\# y_{i}/\# y_{r}}{\# n_{i}/\# n_{r}}}}};} & (1) \end{matrix}$

wherein woe_(i) stands for the respective weight of evidence for the respective equipment group; P(yi) stands for a ratio of a number of positive samples in the respective equipment group to a number of positive samples in all fabrication node groups (e.g., equipment groups); P(ni) stands for a ratio of a number of negative samples in the respective equipment group to a number of negative samples in all fabrication node groups (e.g., equipment groups); the positive samples means data including defect information associated with the respective equipment group; the negative samples means data in which defect information associated with the respective equipment group is absent; #yi stands for the number of positive samples in the respective equipment group; #yr stands for the number of positive samples in all fabrication node groups (e.g., equipment groups); #ni stands for the number of negative samples in the respective equipment group; #yr stands for the number of negative samples in all fabrication node groups (e.g., equipment groups).

In some embodiments, the method further includes processing the fabrication data information to obtain a processed data. Optionally, processing the fabrication data information comprises performing data fusion on biographical data information and defect information to obtain a fused data information.

In one example, processing fabrication data information to obtain a processed data includes obtaining raw data information of various fabrication processes of a display panel, including biographical data information, parameter information, and defect information; pre processing the raw data to remove null data, redundant data, and dummy field, and filtering the data based on pre-set conditions, to obtain a validated data; performing data fusion on the biographical data information and the defect information in the validated data to obtain a third fused data information; determining if any piece of defect information in the fused data information contains a machine-detected defect information and a manually reviewed defect information in a same piece, and marking the manually reviewed defect information as the defect information to be analyzed instead of the machine-detected defect information, thereby generating a reviewed data; performing data fusion on the review data and the biographical data information to obtain a fourth fused data information; and removing non-representative data from the fourth fused data information to obtain the processed data. For example, data generated in a process in which the glass passes through a very small number of devices can be eliminated. When the number of devices the glass passed through is only a small percentage (e.g., 10%) of the total number of devices, the non-representative data will bias the analysis, affecting accuracy of the analysis.

In one example, the biographical data information (used to be fused with the review data to obtain the fourth fused data information) includes glass data and hglass data (half glass data, i.e., the history data after the complete glass is cut in half). The reviewed data, however, is panel data. In one example, the glass_id/hglass_id at fab stage is fused with the panel_id at EAC2 stage, with redundant data removed. The purpose of this step is to ensure the biographical data information at the fab stage are consistent with the defect information at the EAC2 stage. For example, the number of bits in the glass_id/hglass_id is not the same as the number of bits in the panel_id. In one example, the number of bits in the panel_id is processed to be consistent with the number of bits in the glass_id/hglass_id. After the data fusion, a data with complete information is obtained, including glass_id/hglass_id, site information, equipment information, defect information. Optionally, the fused data is subject to an additional operation to remove redundant data items.

In some embodiments, performing the defect analysis includes performing feature extraction on parameters of various types to generate parameter feature information, wherein one or more of a maximum value, a minimum value, an average value, and a median value are extracted for each type of parameters. Optionally, performing feature extraction includes performing time domain analysis to extract statistics information comprising one or more of count, mean value, maximum value, minimum value, range, variance, bias, kurtosis, and percentile. Optionally, performing feature extraction includes performing frequency domain analysis to convert time domain information obtained in the time domain analysis into frequency domain information comprising one or more of power spectrum, information entropy, and signal-to-noise ratio.

In one example, the feature extraction is performed on a list of plurality of groups of data ranked based on the plurality of weights of evidence. In another example, the feature extraction is performed on one or more groups of the plurality of groups of data having highest ranking. In another example, the feature extraction is performed on the group of data having the highest ranking.

In some embodiments, performing the defect analysis further includes performing data fusion on at least two of parameter feature information, biographical information of the manufacturing process, and defect information associated therewith. Optionally, performing data fusion includes performing data fusion on parameter feature information and defect information associated therewith. Optionally, performing data fusion includes performing data fusion on parameter feature information, biographical information of the manufacturing process, and defect information associated therewith. In another example, performing data fusion on the parameter feature information and biographical information of the manufacturing process to obtain first fused data information; and performing data fusion on the first fused data information and defect information associated therewith to obtain second fused data information, the second fused data information comprising glass serial number, manufacturing site information, device information, the parameter feature information, and the defect information. In some embodiments, the data fusion is performed in the general data layer GDL, e.g., by building tables having correlation constructed according to user needs or themes as discussed above.

In some embodiments, the method further includes performing a correlation analysis. FIG. 16 illustrates a method of defect analysis in some embodiments according to the present disclosure. Referring to FIG. 16 , the method in some embodiments includes extracting the parameter feature information and the defect information from the second fused data information; performing a correlation analysis on the parameter feature information and the defect information with respect to each type of parameters; generating a plurality of correlation coefficients respectively for a plurality of types of parameters; and ranking absolute values of the plurality of correlation coefficients. In one example, the absolute values of the plurality of correlation coefficients are ranked in order from largest to smallest, so that associated parameters that lead to the defect occurrence can be observed visually. The absolute values are used here because the correlation coefficients can be positive or negative values, i.e., there can be a positive or a negative correlation between the parameter and the defect. The larger the absolute value is, the stronger the correlation.

In some embodiments, the plurality of correlation coefficients are a plurality of pearson correlation coefficients. Optionally, a respective pearson correlation coefficients is calculated according to Equation (2):

$\begin{matrix} {{\rho_{x,y} = {\frac{{cov}\left( {x,y} \right)}{\sigma_{x}\sigma_{y}} = {\frac{E\left( {\left( {x - \mu_{x}} \right)\left( {y - \mu_{y}} \right)} \right)}{\sigma_{x}\sigma_{y}} = \frac{{E\left( {xy} \right)} - {{E(x)}{E(y)}}}{\sqrt{{E\left( x^{2} \right)} - {E^{2}(x)}}\sqrt{{E\left( y^{2} \right)} - {E^{2}(y)}}}}}};} & (2) \end{matrix}$

wherein x stands for a value for a parameter feature; y stands for a value for presence or absence of a defect, y is given a value of 1 when the defect is present, and y is given a value of 0 when the defect is absent; μx stands for a mean value of x; μy stands for a mean value of y; σxσy stands for a product of respective standard deviations of x and y; cov(x,y) stands for a covariance of x,y; and p(x,y) stands for a respective pearson correlation coefficient.

In another aspect, the present disclosure provides an intelligent defect analysis method performed by a distributed computing system including one or more networked computers configured to execute in parallel to perform at least one common task. In some embodiments, the method includes executing a data management platform configured to store data, and intelligently extract, transform, or load the data; executing a query engine connected to the data management platform and configured to obtain the data directly from the data management platform; executing an analyzer connected to the query engine and configured to perform defect analysis upon receiving a task request, the analyzer including a plurality of backend servers and a plurality of algorithm servers, the plurality of algorithm servers configured to obtain the data directly from the data management platform; and executing a data visualization and interaction interface configured to generate the task requests.

In some embodiments, the data management platform comprises an ETL module configured to extract, transform, or load data from a plurality of data sources onto a data mart and a general data layer. The method in some embodiment further includes querying, by a respective one of the plurality of algorithm servers, a first data directly from the data mart, upon receiving an assigned task by the respective one of the plurality of algorithm servers; and transmitting, by the respective one of the plurality of algorithm servers, a second data directly to the general data layer, upon performing defect analysis.

In some embodiments, the method further includes generating, by the ETL module, a dynamically updated table that is automatically updated periodically; and storing the dynamically updated table in the general data layer.

In some embodiments, the software modules further include a load balancer connected to the analyzer. In some embodiments, the method further includes receiving, by the load balancer, task requests and assigning, by the load balancer, the task requests to one or more of the plurality of backend servers to achieve load balance among the plurality of backend servers, and assigning, by the load balancer, tasks from the plurality of backend servers to one or more of the plurality of algorithm servers to achieve load balance among the plurality of algorithm servers.

In some embodiments, the method further includes generating, by the data visualization and interaction interface, a task request; receiving, by the load balancer, the task request and assigning, by the load balancer, the task request to one or more of the plurality of backend servers to achieve load balance among the plurality of backend servers; transmitting, by the one or more of the plurality of backend servers, a query task request to the query engine; querying, by the query engine, the dynamically updated table to obtain information on defects of high occurrence, upon receiving the query task request from the one or more of the plurality of backend servers by the query engine; transmitting, by the query engine, the information on defects of high occurrence to one or more of the plurality of backend servers; transmitting, by the one or more of the plurality of backend servers, defect analysis tasks to the load balancer for assigning the defect analysis tasks to the one or more of the plurality of algorithm servers to achieve load balance among the plurality of algorithm servers; querying, by the one or more of the plurality of algorithm servers, the data directly from the data mart to perform defect analysis, upon receiving the defect analysis tasks by the one or more of the plurality of algorithm servers; and upon completion of the defect analysis, transmitting, by the one or more of the plurality of algorithm servers, results of the defect analysis to the general data layer.

In some embodiments, the method further includes generating an automatically recurring task request. The automatically recurring task request defining a recurring period for which the defect analysis is to be performed. Optionally, the method further includes querying, by the query engine, the dynamically updated table to obtain information on defects of high occurrence limited to the recurring period; and generating, by the one or more of the plurality of backend servers upon receiving the information on defects of high occurrence during the recurring period, the defect analysis tasks based on the information on defects of high occurrence during the recurring period. Optionally, the method further includes receiving input of the recurring period for which the defect analysis is to be performed, e.g., by an automatic task sub-interface of the data visualization and interaction interface.

In some embodiments, the method further includes generating an interactive task request. Optionally, the method further includes receiving, by the data visualization and interaction interface, a user-defined analysis criteria; generating, by the data visualization and interaction interface, the interactive task request based on the user-defined analysis criteria; transmitting, by the one or more of the plurality of backend servers upon receiving the information on defects of high occurrence, the information to the data visualization and interaction interface; displaying, by the data visualization and interaction interface, the information on defects of high occurrence and a plurality of environmental factors associated with the defects of high occurrence; receiving, by the data visualization and interaction interface, a user-defined selection of one or more environmental factors from a plurality of environmental factors; transmitting, by the data visualization and interaction interface, the user-defined selection to the one or more of the plurality of backend servers; and generating, by the one or more of the plurality of backend servers, the defect analysis tasks based on the information and the user-defined selection. Optionally, the method further includes receiving input of the user-defined analysis criteria comprising the user-defined selection of one or more environmental factors, e.g., by an interactive task sub-interface of the data visualization and interaction interface.

In some embodiments, the analyzer further includes a cache server and a cache. The cache is connected to the plurality of backend servers, the cache server, and the query engine. Optionally, the method further includes storing, by the cache, a portion of results of previously performed defect analysis tasks.

In some embodiments, the data visualization and interaction interface includes a defect visualization sub-interface. Optionally, the method further includes receiving, by the defect visualization sub-interface, a user-defined selection of a defect to be analyzed and generate a call request; receiving, by the load balancer, the call request; assigning, by the load balancer, the call request to one or more of the plurality of backend servers to achieve load balance among the plurality of backend servers; transmitting, by the one or more of the plurality of backend servers, the call request to the cache server; and determining, by the cache server, whether information on the defect to be analyzed is stored in the cache. Optionally, the method further includes upon a determination that the information on the defect to be analyzed is stored in the cache, the one or more of the plurality of backend servers is configured to transmit the information on the defect to be analyzed to the defect visualization sub-interface for displaying. Optionally, the method further includes transmitting, by the one or more of the plurality of backend servers, a query task request to the query engine, upon a determination that the information on the defect to be analyzed is not stored in the cache; querying, by the query engine upon receiving the query task request from the one or more of the plurality of backend servers, the dynamically updated table to obtain information on the defect to be analyzed; transmitting, by the query engine, the information on the defect to be analyzed to the cache; storing the information on the defect to be analyzed in the cache; and transmitting, by the one or more of the plurality of backend servers, the information on the defect to be analyzed to the defect visualization sub-interface for displaying. Optionally, the portion of results of previously performed defect analysis tasks includes results of previously performed defect analysis tasks based on automatically recurring task requests; and results of previously performed defect analysis tasks obtained based on the query task request.

In another aspect, the present disclosure provides a computer-program product, for intelligent defect analysis. The computer-program product, for intelligent defect analysis includes a non-transitory tangible computer-readable medium having computer-readable instructions thereon. In some embodiments, the computer-readable instructions are executable by a processor, in a distributed computing system including one or more networked computers configured to execute in parallel to perform at least one common task, to cause the processor to perform executing a data management platform configured to store data, and intelligently extract, transform, or load the data; executing a query engine connected to the data management platform and configured to obtain the data directly from the data management platform; executing an analyzer connected to the query engine and configured to perform defect analysis upon receiving a task request, the analyzer including a plurality of backend servers and a plurality of algorithm servers, the plurality of algorithm servers configured to obtain the data directly from the data management platform; and executing a data visualization and interaction interface configured to generate the task requests.

In some embodiments, the data management platform comprises an ETL module configured to extract, transform, or load data from a plurality of data sources onto a data mart and a general data layer. In some embodiment, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform querying, by a respective one of the plurality of algorithm servers, a first data directly from the data mart, upon receiving an assigned task by the respective one of the plurality of algorithm servers; and transmitting, by the respective one of the plurality of algorithm servers, a second data directly to the general data layer, upon performing defect analysis.

In some embodiments, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform generating, by the ETL module, a dynamically updated table that is automatically updated periodically; and storing the dynamically updated table in the general data layer.

In some embodiments, the software modules further include a load balancer connected to the analyzer. In some embodiments, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform receiving, by the load balancer, task requests and assigning, by the load balancer, the task requests to one or more of the plurality of backend servers to achieve load balance among the plurality of backend servers, and assigning, by the load balancer, tasks from the plurality of backend servers to one or more of the plurality of algorithm servers to achieve load balance among the plurality of algorithm servers.

In some embodiments, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform generating, by the data visualization and interaction interface, a task request; receiving, by the load balancer, the task request and assigning, by the load balancer, the task request to one or more of the plurality of backend servers to achieve load balance among the plurality of backend servers; transmitting, by the one or more of the plurality of backend servers, a query task request to the query engine; querying, by the query engine, the dynamically updated table to obtain information on defects of high occurrence, upon receiving the query task request from the one or more of the plurality of backend servers by the query engine; transmitting, by the query engine, the information on defects of high occurrence to one or more of the plurality of backend servers; transmitting, by the one or more of the plurality of backend servers, defect analysis tasks to the load balancer for assigning the defect analysis tasks to the one or more of the plurality of algorithm servers to achieve load balance among the plurality of algorithm servers; querying, by the one or more of the plurality of algorithm servers, the data directly from the data mart to perform defect analysis, upon receiving the defect analysis tasks by the one or more of the plurality of algorithm servers; and upon completion of the defect analysis, transmitting, by the one or more of the plurality of algorithm servers, results of the defect analysis to the general data layer.

In some embodiments, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform generating an automatically recurring task request. The automatically recurring task request defining a recurring period for which the defect analysis is to be performed. Optionally, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform querying, by the query engine, the dynamically updated table to obtain information on defects of high occurrence limited to the recurring period; and generating, by the one or more of the plurality of backend servers upon receiving the information on defects of high occurrence during the recurring period, the defect analysis tasks based on the information on defects of high occurrence during the recurring period. Optionally, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform receiving input of the recurring period for which the defect analysis is to be performed, e.g., by an automatic task sub-interface of the data visualization and interaction interface.

In some embodiments, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform generating an interactive task request. Optionally, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform receiving, by the data visualization and interaction interface, a user-defined analysis criteria; generating, by the data visualization and interaction interface, the interactive task request based on the user-defined analysis criteria; transmitting, by the one or more of the plurality of backend servers upon receiving the information on defects of high occurrence, the information to the data visualization and interaction interface; displaying, by the data visualization and interaction interface, the information on defects of high occurrence and a plurality of environmental factors associated with the defects of high occurrence; receiving, by the data visualization and interaction interface, a user-defined selection of one or more environmental factors from a plurality of environmental factors; transmitting, by the data visualization and interaction interface, the user-defined selection to the one or more of the plurality of backend servers; and generating, by the one or more of the plurality of backend servers, the defect analysis tasks based on the information and the user-defined selection. Optionally, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform receiving input of the user-defined analysis criteria comprising the user-defined selection of one or more environmental factors, e.g., by an interactive task sub-interface of the data visualization and interaction interface.

In some embodiments, the analyzer further includes a cache server and a cache. The cache is connected to the plurality of backend servers, the cache server, and the query engine. Optionally, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform storing, by the cache, a portion of results of previously performed defect analysis tasks.

In some embodiments, the data visualization and interaction interface includes a defect visualization sub-interface. Optionally, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform receiving, by the defect visualization sub-interface, a user-defined selection of a defect to be analyzed and generate a call request; receiving, by the load balancer, the call request; assigning, by the load balancer, the call request to one or more of the plurality of backend servers to achieve load balance among the plurality of backend servers; transmitting, by the one or more of the plurality of backend servers, the call request to the cache server; and determining, by the cache server, whether information on the defect to be analyzed is stored in the cache. Optionally, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform upon a determination that the information on the defect to be analyzed is stored in the cache, the one or more of the plurality of backend servers is configured to transmit the information on the defect to be analyzed to the defect visualization sub-interface for displaying. Optionally, the computer-readable instructions are further executable by a processor, in the distributed computing system, to cause the processor to perform transmitting, by the one or more of the plurality of backend servers, a query task request to the query engine, upon a determination that the information on the defect to be analyzed is not stored in the cache; querying, by the query engine upon receiving the query task request from the one or more of the plurality of backend servers, the dynamically updated table to obtain information on the defect to be analyzed; transmitting, by the query engine, the information on the defect to be analyzed to the cache; storing the information on the defect to be analyzed in the cache; and transmitting, by the one or more of the plurality of backend servers, the information on the defect to be analyzed to the defect visualization sub-interface for displaying. Optionally, the portion of results of previously performed defect analysis tasks includes results of previously performed defect analysis tasks based on automatically recurring task requests; and results of previously performed defect analysis tasks obtained based on the query task request.

Examples: Research on Auto MAP Defect Location of AMOLED Based on Machine Learning and Image Processing

Due to complicated production process, AMOLED is easily influenced by the cleanliness of environment, chemical gas and liquid which will cause a large amount of uneven dot defects on glass during manufacturing. Concentrated region, that gathers a large amount of dot defects, will lead to final yield loss. So, detect and locate the concentrated region timely is very important in AMOLED manufacturing field, the article proposes a new algorithm to locate the concentrated region automatically based on machine learning and image processing technology. Firstly, using hierarchical clustering algorithm to divide the defects into classes by Euclidean distance threshold of defect points and alpha shapes algorithm to extract the outer contour points. Secondly, fitting the smallest surrounding region of each classes by interpolation algorithm, and then calculate the region features by Hu moment algorithm, such as region density, centroid, orientation, area, length-width ration and etc. Finally, filtering the candidate regions according to the feature value of destination region. Experimental result shows that the proposed algorithm can realize intelligent analysis of defect MAP image, and locate the defect concentrated region automatically which can replace manual inspection to guarantee quality and lower cost.

AMOLED can be made deformable and bendable using flexible display materials.

AMOLED has advantages such as bendability, low energy consumption, better display quality, and longer service life. However, due to the complexity of the AMOLED process, unevenly sized defect points are formed on the panel due to the influence of air cleanliness, chemical gases, liquids and equipment process parameters. In most cases, these undesirable defect points do not lead to final product defects, except for clusters of aggregated defect points. In this example, we perform aggregation analysis on the MAP map generated by the AOI detected defective points, and identify the clusters of spots that cause yield loss for subsequent defect analysis.

In the past, the analysis of the aggregation of defect points is done by manual visual inspection, but the quality and consistency of the inspection cannot be guaranteed. Based on the aforementioned problems, this example proposes a method for intelligent analysis of defect points maps based on machine learning and image processing technology, which can rapidly locate the aggregation region of defect points in defect points maps, and analyze the aggregation region according to the characteristic parameters of the region to screen out the target defect point cluster region that causes yield loss, thus realizing fully automatic online analysis of defect points maps. At the same time, the method described herein reduces the risk of misjudgment and omission caused by subjective judgment of workers, saves labor costs, and improves inspection efficiency through a series of quantitative judgment indicators.

A defect point map is the mapping map, which refers to the mapping of a panel of defective points according to the coordinates into a digital image for visualization and subsequent defect analysis. In the AMOLED manufacturing process, the same panel will pass through several AOI inspection sites, and the AOI equipment will report all the defective points P_(i) and coordinates (x_(i), y_(i)) on the panel to a storage system, and the process of synthesizing defect point maps is the process of plotting the defective coordinates on the image.

First, a two-dimensional mapping M_(3x3) of the glass panel's coordinate system O_(glass)−XY to the image coordinate system O_(map)−XY is created, which is expressed as follows:

$\begin{matrix} {{M_{3 \times 3} = \begin{bmatrix} R_{2 \times 2} & T_{2 \times 1} \\ 0 & 1 \end{bmatrix}};} & (3) \end{matrix}$

wherein

$R_{2 \times 2} = \begin{bmatrix} {\cos\theta} & {{- s}{in}\theta} \\ {\sin\theta} & {\cos\theta} \end{bmatrix}$

stands for a rotation matrix, θ stands for a rotation angle, and

$T_{2 \times 1} = \begin{bmatrix} t_{x} \\ t_{y} \end{bmatrix}$

stands for a translation matrix.

Then, all the defect points p_(i) (x_(i), y_(i)) in the coordinate system O_(glass)−XY of the glass panel is subject to the conversion described in the formula (2) to obtain the coordinates p_(i) (X_(i),Y_(i)) of the point in the image coordinate system O_(map)−XY:

$\begin{matrix} {{\begin{bmatrix} X_{i} \\ Y_{i} \\ 1 \end{bmatrix} = {M_{3 \times 3}\begin{bmatrix} x_{i} \\ y_{i} \\ 1 \end{bmatrix}}};} & (4) \end{matrix}$

Finally, defects points obtained by the mapping conversion are plotted on an image with a resolution of M×N, M stands for a length of the substrate, and N stands for a width of the substrate. FIG. 17 is an exemplary defect point map image.

In the present algorithm for automatically locating poorly aggregated regions of defect point maps, the regions that meet the aggregation characteristics are extracted for subsequent use in image analysis. In this example, the unsupervised learning algorithm for hierarchical clustering is used. Hierarchical clustering is an unsupervised learning algorithm in data mining, which aims to divide data into family classes with maximum intra-class similarity and minimum inter-class similarity.

Hierarchical clustering algorithms are divided into coalescing (bottom-up) methods and splitting (top-down) methods. In the coalescing methods, each object is treated as a separate cluster, and then successively merge similar classes until all objects are merged into a single cluster, or certain termination conditions are met. Examples of hierarchical clustering algorithms include AGNES, BIRCH, CURE, ROCK, CHAMELEON.

In this example, AGNES hierarchical clustering algorithm is used. The European distance D between the clusters is used as the metric for cluster analysis, and the minimum sample distance between the clusters is used as the connection criterion for cluster analysis, and the points with distance D≤d in all point clusters R are considered as a class of point clusters.

D=√{square root over ((x _(i) −x _(j))²+(y _(i) −y _(j))²)}  (5);

wherein P_(i) (x_(i),y_(i)) and P_(i) (x_(j), y_(j)) are two nearest adjacent points in any two class clusters.

The clustering process is as follows. 1) Consider the M defect points in the defect point map as class clusters and calculate the distance between each pair of class clusters. 2) Randomly find the two point clusters with the smallest distances and merge them to obtain M-1 class clusters. 3) Calculate the distance between two adjacent class clusters in the M-1 class cluster. 4) Repeat steps 2) and 3). (5) obtain a number N of clusters satisfying the condition D ≤d.

The Alpha Shapes algorithm is an algorithmic for reconstructing image of a two-dimensional region of a disordered cluster of points. Alpha Shapes is based on the principle that a circle of radius α is rolled outside a disordered cluster of points S. If α is large enough, the circle will not fall into inside of the cluster of points. The trajectory of the circle roll can be considered as the boundary line of the point cluster. In this algorithm, the radius α is the only parameter whose size determines the fineness of the boundary region. When a is large enough, the extracted boundary line is the convex packet of the point cluster S. When a is small enough, any point of the point cluster S may be a boundary point. Further, an adaptive α-shapes algorithm enables rolling circles to adaptively adjust the value of radius α when the boundary is rolled to ensure the fineness and completeness of the boundary, and its core algorithm flow is as follows.

1) Generate a mapped map using the point cloud data to obtain an image with a resolution of M×N size. A value of a pixel is equal to the number of points within that pixel.

(2) Boundary point determination: each pixel is traversed, if the value of the pixel is greater than 0, and 8 neighborhood points are greater than 0, then the point is non-boundary point, and that pixel can be discarded.

3) Alpha Shapes determination for the remaining points.

(a) Traverse all the remaining pixels P_(i) (x_(i), y_(i)) and use the core idea of the K nearest neighbor algorithm to calculate their K nearest neighbors and the mean of their Euclidean distances. The mean of their Euclidean distances is assigned as the radius α of the scrolling circle. Search for all pixels that are less than 2a away from the pixel to form a new set Q of points.

(b) For any point P_(j) (x_(j), y_(j)) of the set Q of points, two scrolling circles and their centers o₁ and o₂ are determined based on p_(i), p_(j), and radius α. If distances from all other points in the set Q to the centers o₁ and o₂ are greater than α, then the point p_(i) is a boundary point.

(c) If there is no point in the set Q that satisfies the condition, then the point p_(i) is not a boundary point.

4) Repeat steps 2) and 3) until all boundary points are identified.

In this example, we obtained clusters of classes that satisfy the clustering condition, each time with a series of discrete points. FIG. 18A shows an exemplary discrete point cluster. The algorithm involved in this example needs to fit discrete points to a polygonal region and use image processing techniques to compute its regional features for aggregated region screening.

The most common technique for regional fitting of discrete points is the convex packet fitting, where the region enclosed by the discrete point clusters is concave, and if the convex packet fitting algorithm is used, the domain obtained is obviously not the true shape of the point clusters. FIG. 18B shows an example of a clustered area map by convex packet fitting. In this example, the adaptive Alpha Shapes algorithm is used to find the boundary points of the point clusters and connect the boundary points to form an aggregated region of the point clusters. FIG. 18C shows an example of a clustered area map by α-Shapes fitting.

Automatic extraction of the target region of an image may include first threshold segment the image, connect the region markers, compute the region eigenvalues, and then automatically locate the target region based on its features. Hu proposed the concept of geometric moments based on Cartesian coordinates in 1962 and derived a series of variables having scale invariance, translation invariance, and rotation invariance.

Hu's geometric moment and center distance are defined as follows:

$\begin{matrix} {{m_{pq} = {\sum\limits_{{({x,y})} \in A}{x^{p}y^{q}}}};} & (6) \end{matrix}$ $\begin{matrix} {{M_{pq} = {\sum\limits_{{({x,y})} \in A}{\left( {x - x_{0}} \right)^{p}\left( {y - y_{0}} \right)^{q}}}};} & (7) \end{matrix}$

wherien m_(pq) stands for (p+q) -th order geometric moment, M_(pq) stands for (p+q) -th order geometric center moment, A stands for a target region, and (x₀, y₀) stands for a geometric center of region A.

In this example, the eigenvalues of the clustered regions include area α, point density ρ, center of mass O (O_(x), O_(y)), orientation θ, length L, width W, aspect ratio r, etc., and are used to automatically filter and locate the defect points clustered regions in the defect point maps. For any point cluster region A_(i), the specific formula for the above feature values is as follows:

$\begin{matrix} {{a = m_{00}};} & (8) \end{matrix}$ $\begin{matrix} {{\rho = \frac{N}{a}};} & (9) \end{matrix}$ $\begin{matrix} {{O_{x} = \frac{m_{10}}{a}},{{O_{y} = \frac{m_{01}}{a}};}} & (10) \end{matrix}$ $\begin{matrix} {{\theta = {{- 0.5}{\arctan\left( \frac{2M_{11}}{M_{02} - M_{20}} \right)}}};} & (11) \end{matrix}$ $\begin{matrix} {{r = \frac{L}{W}};} & (12) \end{matrix}$

wherein N stands for a number of defect points in the area A_(i), and L and W respectively stands for a length and a width of the smallest outer rectangle of the area A_(i).

In this example, the defect points reported by the AOI are mapped into a defect point map, and the clustering regions of the defect points are automatically located through hierarchical clustering, adaptive Alpha Shapes, regional feature extraction and filtering algorithms. FIG. 19 illustrates an algorithm of determining a clustered area map.

(1) read the single/multiple glass substrate defect point coordinates (x_(i), y_(i)) reported by the AOI, establish the mapping between the glass substrate coordinate system and the image coordinate system (Equation 2), convert the defect point coordinates of the substrate coordinate system into the image coordinate system coordinates (x_(i), y_(i)). In this example, a batch of substrate (28 substrates) is selected for defect analysis. All the defect point coordinates from the batch of substrates are superimposed together, forming the defect point map. FIG. 20A shows an exemplary defect point map. In the defect point map as shown in FIG. 20A, defect points aggregate in the top side, the right side, and the lower middle side.

(2) The European distance D between defect points is used as a prerequisite condition for cluster analysis, and all the points in the cluster R having D≤d are considered as a same class of point clusters. The specific implementation adopts the algorithm of hierarchical clustering in the field of machine learning, and uses Single linkage as the connection criterion of cluster analysis to obtain the final classification result C={C₁, C₂,C₃, . . . ,C_(n)}⊆R and n≥1.

(3) For the classification result in step 2), filter and count the number of defect points in each class of point clusters, eliminate point clusters in which N≤n, where n is the minimum number of undesirable points in the point cluster. The filtered result C′={C′₁, C′₂, C′₃, . . . , C′_(n)}, C′⊆C is obtained. Due to the hierarchical clustering algorithm used in this example, a single point or a small number of defect points may be considered as an independent class, which are discarded prior to subsequent analysis. FIG. 20B shows an exemplary result of classification and selection.

4) If the results of the filtering in step 3) is C′=Ø, then the defect point map does not have the problem of defect spot aggregation. Otherwise, further analysis is performed.

5) For any of point clusters C′_(i)=(p₁, p₂, . . . , p_(n)) in C, the adaptive Alpha Shapes algorithm is used to abstract the intuitive external shape from the discrete and disordered point clusters, and obtain the set of external shape contour points C^(c) _(i)=(p^(c) ₁, p^(c) ₂, . . . , p^(c) _(n)), C^(c) _(i)⊂C_(i)′. The outer contour C^(C) of all point clusters c′ can be obtained from this procedure.

(6) Using the interpolation fitting technique in the field of image processing, the minimum enclosed graphical area A of any point cluster c: is fitted according to the contour points C^(c) _(i) of the cluster, and the corresponding set of image regions A={A₁, A₂, . . . , A₇} of the point cluster c′ can be obtained. FIG. 21A shows an exemplary set of image regions of the point cluster.

For any image region A, the Hu geometric moment m_(i,j) of the graphics region and the center distance M_(i,j) are first calculated (Eq. 4 and 5), and the image region of the point density ρ, area α, center of mass O (O_(x), O_(y)), direction θ, length L, width W, aspect ratio r, and other characteristic parameters (Eq. 6 to 10) are derived, and the region's feature vector F=[ρ, α, O_(x), O_(y), θ, L,W, r]^(T) is generated. Eigenvalues of each image region in FIG. 21A are shown in Table 1, wherein the resolution of the defect point map is 1500 pixel *1850 pixel and unit of the calculated values in Table 1 is pixel.

Table 1 Eigenvalues of each image region in FIG. 21A Image Region ρ a O_(x) O_(y) θ L W r A1 0.15 35046 698.91 30.52 0.33 1475 121 12.25 A2 0.19 11698 36.64 316.21 88.52 56 381 0.15 A3 0.21 31001 1098.6 1182.06 2.29 380 145 2.62 A4 0.18 170168 779.88 1311 1.43 1468 388 3.78 A5 0.15 6605 670.92 1489.58 5.73 154 82 1.88 A6 0.16 30331 918.29 1689.29 66.19 287 374 0.77 A7 0.14 6475 1099.38 1811.22 6.45 191 63 3.11

8) Based on the area feature vector calculated in step 7), the areas in the set that do not satisfy the condition F_(i)∈[α_(i),β_(i)] are removed. For example: based on the area center coordinates (O_(x),O_(y)), the set A1 and A2 can be excluded, because the glass substrate peripheral area does not have an impact on the quality of the product. Based on the area α, the A5 and A7 regions can be excluded, small area aggregation has little impact on the final quality of the product. A collection of defect point aggregation regions A′={A₃,A₄,A₆} affecting yield loss can be obtained. FIG. 21B shows defect point aggregation regions.

The method described in this example can be used in AMOLED manufacture, but is equally applicable to other panel display and semiconductor industries. The method described in this example innovatively combines algorithms such as hierarchical clustering, alpha shapes in machine learning, and blob analysis in image processing, and draws on the idea of defect localization in image processing to complete the intelligent analysis of defect point maps. The experimental results show that this method can quickly locate the aggregation region of the defect point maps. Through a series of quantitative judgment indicators, the present method reduces the risk of subjective judgment brought about by misjudgment and omission of personnel, save labor costs, improve detection efficiency.

Various illustrative operations described in connection with the configurations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. Such operations may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an ASIC or AS SP, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to produce the configuration as disclosed herein. For example, such a configuration may be implemented at least in part as a hard-wired circuit, as a circuit configuration fabricated into an application-specific integrated circuit, or as a firmware program loaded into non-volatile storage or a software program loaded from or into a data storage medium as machine-readable code, such code being instructions executable by an array of logic elements such as a general purpose processor or other digital signal processing unit. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. A software module may reside in a non-transitory storage medium such as RAM (random-access memory), ROM (read-only memory), nonvolatile RAM (NVRAM) such as flash RAM, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), registers, hard disk, a removable disk, or a CD-ROM; or in any other form of storage medium known in the art. An illustrative storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

The foregoing description of the embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form or to exemplary embodiments disclosed. Accordingly, the foregoing description should be regarded as illustrative rather than restrictive. Obviously, many modifications and variations will be apparent to practitioners skilled in this art. The embodiments are chosen and described in order to explain the principles of the invention and its best mode practical application, thereby to enable persons skilled in the art to understand the invention for various embodiments and with various modifications as are suited to the particular use or implementation contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents in which all terms are meant in their broadest reasonable sense unless otherwise indicated. Therefore, the term “the invention”, “the present invention” or the like does not necessarily limit the claim scope to a specific embodiment, and the reference to exemplary embodiments of the invention does not imply a limitation on the invention, and no such limitation is to be inferred. The invention is limited only by the spirit and scope of the appended claims. Moreover, these claims may refer to use “first”, “second”, etc. following with noun or element. Such terms should be understood as a nomenclature and should not be construed as giving the limitation on the number of the elements modified by such nomenclature unless specific number has been given. Any advantages and benefits described may not apply to all embodiments of the invention. It should be appreciated that variations may be made in the embodiments described by persons skilled in the art without departing from the scope of the present invention as defined by the following claims. Moreover, no element and component in the present disclosure is intended to be dedicated to the public regardless of whether the element or component is explicitly recited in the following claims. 

1. A computer-implemented method for defect analysis, comprising: obtaining a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combining the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and performing a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.
 2. The computer-implemented method of claim 1, further comprising obtaining a plurality of selected clusters from the plurality of clusters; wherein a number of defect points in each of the plurality of selected clusters is greater than a threshold number.
 3. The computer-implemented method of claim 1, further comprising: determining a plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters, a respective one of the plurality of contours comprising a plurality of edge defect points in a respective one of the plurality of selected clusters; applying a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters; and generating a plurality of feature vectors respectively of the plurality of mask areas.
 4. The computer-implemented method of claim 3, wherein generating the plurality of feature vectors comprises: generating Hu geometric moment m_(i,j) and center-to-center distance M_(i,j) of a respective one of the plurality of mask areas, wherein m_(i,j)=Σ_((x,y)∈A)x^(i)y^(j); calculating defect point density ρ, area α, center of mass O (O_(x), O_(y)), and direction θ of the respective one of the plurality of mask areas; and generating a respective one of the plurality of feature vectors for the respective one of the plurality of mask areas.
 5. The computer-implemented method of claim 4, wherein a respective one of the plurality of feature vectors is expressed as: F=[ρ,α,Ox,Oy,θ,L,W,r]^(T); wherein ${p = \frac{N}{a}},$ N stands for a number of defect points in the respective one of the plurality of mask areas, a stands for an area of the respective one of the plurality of mask areas; ${{O_{x} = \frac{m\text{?}}{a}};}{{O_{y} = \frac{m\text{?}}{a}};}{{\theta = {{- 0.5}{atc}{\tan\left( \frac{2\text{?}}{{M\text{?}} - {M\text{?}}} \right)}}};}{{M_{ij} = {\sum_{{({x,y})} \in \mathcal{A}}{\left( {x - O_{x}} \right)^{t}\left( {y - O_{y}} \right)\text{?}}}};}{r = {\frac{\text{?}}{W}\text{;;}}}$ ?indicates text missing or illegible when filed L stands for a length of a minimal external rectangle of the respective one of the plurality of mask areas; and W stands for a width of a minimal external rectangle of the respective one of the plurality of mask areas.
 6. The computer-implemented method of claim 3, wherein the plurality of contours are determined using an alpha shapes-based method.
 7. The computer-implemented method of claim 3, further comprising: assigning one or more selected mask areas of the plurality of mask areas as a plurality of defect aggregation areas; wherein feature vectors respectively of the one or more selected mask areas satisfy a threshold condition.
 8. The computer-implemented method of claim 7, further comprising: comparing parameters of first defect points inside the one or more selected mask areas with parameters of second defect points outside the one or more selected mask areas; and identifying potential devices that causes first defect points based on comparing.
 9. The computer-implemented method of claim 1, further comprising: obtaining a plurality of sets of substrate defect point coordinates, a respective one of the plurality of sets of substrate defect point coordinates comprising coordinates of substrate defect points in a respective substrate, the coordinates of substrate defect points in the respective substrate being coordinates in a substrate coordinate system; and converting the coordinates of the substrate defect points in the substrate coordinate system into the coordinates of the defect points in the image coordinate system.
 10. The computer-implemented method of claim 1, wherein obtaining the plurality of sets of defect point coordinates comprises: obtaining a plurality of sets of raw defect point coordinates; and selecting, from the plurality of sets of raw defect point coordinates, sets of defect point coordinates comprising more than a threshold number of defect point coordinates as the plurality of sets of defect point coordinates.
 11. The computer-implemented method of claim 1, wherein the clustering analysis is performed using a hierarchical clustering method.
 12. The computer-implemented method of claim 11, wherein the hierarchical clustering method is a single linkage clustering method.
 13. The computer-implemented method of claim 1, wherein a Euclidean distance between adjacent defect points in a respective one of the plurality of clusters being equal to or less than a threshold value, a Euclidean distance between any two defect points respectively from two of the plurality of clusters being greater than the threshold value.
 14. An apparatus for defect analysis, comprising: a memory; one or more processors; wherein the memory and the one or more processors are connected with each other; and the memory stores computer-executable instructions for controlling the one or more processors to: obtain a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combine the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and perform a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.
 15. The apparatus of claim 14, wherein the memory further stores computer-executable instructions for controlling the one or more processors to: determine a plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters, a respective one of the plurality of contours comprising a plurality of edge defect points in a respective one of the plurality of selected clusters; apply a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters; and generate a plurality of feature vectors respectively of the plurality of mask areas.
 16. The apparatus of claim 15, wherein the memory further stores computer-executable instructions for controlling the one or more processors to: generate Hu geometric moment m_(i,j) and center-to-center distance M_(i,j) of a respective one of the plurality of mask areas, wherein m_(i,j)=Σ_((x,y)∈A)x^(i)y^(j); calculate defect point density ρ, area α, center of mass O (O_(x), O_(y)), and direction θ of the respective one of the plurality of mask areas; and generate a respective one of the plurality of feature vectors for the respective one of the plurality of mask areas.
 17. A computer-program product comprising a non-transitory tangible computer-readable medium having computer-readable instructions thereon, the computer-readable instructions being executable by a processor to cause the processor to perform: obtaining a plurality of sets of defect point coordinates, a respective set of the plurality of sets of defect point coordinates comprising coordinates of defect points in a respective substrate of a plurality of substrates, the coordinates of defect points in the respective substrate being coordinates in an image coordinate system; combining the plurality of sets of defect point coordinates according to the image coordinate system into a composite set of coordinates to generate a composite image; and performing a clustering analysis to classify defect points in the composite set in the composite image into a plurality of clusters.
 18. The computer-program product of claim 17, wherein the computer-readable instructions are further executable by a processor to cause the processor to perform: determining a plurality of contours respectively of at least a plurality of selected clusters of the plurality of clusters, a respective one of the plurality of contours comprising a plurality of edge defect points in a respective one of the plurality of selected clusters; applying a fitting algorithm to edge defect points of the plurality of selected clusters to generate a plurality of mask areas respectively corresponding to the plurality of selected clusters; and generating a plurality of feature vectors respectively of the plurality of mask areas.
 19. The computer-program product of claim 18, wherein the computer-readable instructions are further executable by a processor to cause the processor to perform: generating Hu geometric moment m_(i,j) and center-to-center distance M_(i,j) of a respective one of the plurality of mask areas, wherein m_(i,j)=Σ_((x,y)∈A)x^(i)y^(j); calculating defect point density ρ, area α, center of mass O (O_(x), O_(y)), and direction θ of the respective one of the plurality of mask areas; and generating a respective one of the plurality of feature vectors for the respective one of the plurality of mask areas.
 20. An intelligent defect analysis system, comprising: a distributed computing system comprising one or more networked computers configured to execute in parallel to perform at least one common task; one or more computer readable storage mediums storing instructions that, when executed by the distributed computing system, cause the distributed computing system to execute software modules; wherein the software modules comprise: a data manager configured to store data, and intelligently extract, transform, or load the data; a query engine connected to the data manager and configured to query the data directly from the data manager; an analyzer connected to the query engine and configured to perform defect analysis upon received a task request, the analyzer comprising a plurality of business servers and a plurality of algorithm servers, the plurality of algorithm servers configured to query the data directly from the data manager; and a data visualization and interaction interface configured to generate the task requests; wherein one or more of the plurality of algorithm servers is configured to perform the computer-implemented method of claim
 1. 